我有一个基于对话框的MFC工程(VS2010),里面有一些控件,ID为IDC_H1,IDC_H2,IDC_H3一直到IDC_H50
界面中有的时候需要动态更新这些控件的位置:
GetDlgItem(IDC_H1)->SetWindowPos(...);
....
GetDlgItem(IDC_H50)->SetWindowPos(...);
但是一个个写太繁琐,我想用for循环来表示,如:
for(int i = 1; ......)
GetDlgItem("IDC_H"+i)->SetWindowPos(...);
这样就只用写两句话就好了,但是这样写肯定是不行的
把 IDC_H 到 IDC_H+i 先 排序(改 resource.h)
for(int i = IDC_H; i<IDC_H+10; i++.)
GetDlgItem(IDC_H+i)->SetWindowPos(.“haha”);
IDC_H1 这个编号本来就是uint类型的,所以可以按顺序添加到String Table中,然后使用循环,如果不连续还可以把你的控件id保存到容器中,然后再取出来就好了