有多个Static Text,想用一个for循环对其进行操作,应该怎么办 有多个Static Text,ID号为IDC_STATIC1--IDC_STATIC10,想用一个for循环对其进行操作,应该怎么办。如,for (int i = 0; i < 10; i ++){GetDlgItem(ID)->SetWindowText("aaa");} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最好将其ID设置为连续的,然后用循环比较方便。GetDlgItem(ID_STATIC0+i)可以进行下去 IDC_STATIC1_ IDC_STATIC10设为连续的ID, 在你写的int ID = IDC_STATIC1;for (int i = 0; i < 10; i ++){GetDlgItem(ID + i)->SetWindowText("aaa");} 1. 编辑资源头文件把IDC_STATIC1--IDC_STATIC10设置为一段连续的值,之后: for (int i = 0; i < 10; i ++) { GetDlgItem(ID_STATIC1 + i)->SetWindowText("aaa"); }2. 枚举对话框中的所有子窗口,判断子窗口是否具有SS_xxx(具体取决于你的StaticBox的风格)风格,如果有,那就是你要的了。推荐使用11 简单,2 复杂但灵活性要好。 首先ID是宏,对应的是整数,请确保ID号都是依次递增的,然后就可以GetDlgItem(ID_STATIC_0+i)->SetWindowText("aaa");更通用的方法是用map从整数关联到ID,map <int, int> IDmap;IDmap.insert(pair<int, int>(0, IDC_STATIC_0);...... 然后GetDlgItem(IDmap[i])->SetWindowText("aaa"); 那几个控件是连续放上去的。然后在Resource.h中找到相应的消息号这样话,设置完以后就可以了,我的控件是从1000开始的,共6个for(int i=1;i<7;i++) { char ch[10]; memset(ch,0,10); _itoa(i,ch,10); SetDlgItemText((1000+i-1),ch); }这显示,没有问题 有所启发,给几个static text绘制了黑版框 命名管道连接一次就没信号了是怎么回事呀??? FindWindow无法获得窗口句柄 VC 6.0 平台下如何更改Tab control标签颜色 怎么让字母、数字和中文显示时候都一样宽? !!!急!!!有关文件对文件选择对话框的疑问 又是菜鸟问题 如何写这个查询? vc中运用access数据库显示的问题????谁解决 绝对给分 求助!关于链路层数据的接收于发送(windows下) 软件的配置数据保存在----注册表还是ini文件还是其他 Visual C++如何访问USB 求一个在MFC下用WINPCAP 抓包,对数据包分析的源代码 跪谢求助各位高手
GetDlgItem(ID_STATIC0+i)可以进行下去
for (int i = 0; i < 10; i ++)
{
GetDlgItem(ID + i)->SetWindowText("aaa");
}
for (int i = 0; i < 10; i ++)
{
GetDlgItem(ID_STATIC1 + i)->SetWindowText("aaa");
}2. 枚举对话框中的所有子窗口,判断子窗口是否具有SS_xxx(具体取决于你的StaticBox的风格)风格,如果有,那就是你要的了。推荐使用1
1 简单,2 复杂但灵活性要好。
更通用的方法是用map从整数关联到ID,
map <int, int> IDmap;
IDmap.insert(pair<int, int>(0, IDC_STATIC_0);
...... 然后GetDlgItem(IDmap[i])->SetWindowText("aaa");
然后在Resource.h中找到相应的消息号
这样话,设置完以后就可以了,我的控件是从1000开始的,共6个
for(int i=1;i<7;i++)
{
char ch[10];
memset(ch,0,10);
_itoa(i,ch,10);
SetDlgItemText((1000+i-1),ch);
}
这显示,没有问题