CString prefix="IDC_EDIT";
CString temp;
temp.Format("%d",1);
for (int i=1;i<=50;i++)
{
temp.Format("%d",i);
(CEdit*)GetDlgItem(prefix+temp)->EnableWindow(true);
}
这个代码的问题就是GetDlgItem只能接受int型参数,而prefix+temp是CString类型。这要怎么改啊,很着急!!!
CString temp;
temp.Format("%d",1);
for (int i=1;i<=50;i++)
{
temp.Format("%d",i);
(CEdit*)GetDlgItem(prefix+temp)->EnableWindow(true);
}
这个代码的问题就是GetDlgItem只能接受int型参数,而prefix+temp是CString类型。这要怎么改啊,很着急!!!
解决方案 »
- 麻烦哪位解决下网页表单自动提交(126邮箱登录)问题,急急急!!!
- MFC初学者 求大神们给些建议
- 如何对文件进行二进制编辑....
- 怎样给窗口四周加上拖动大小的那个功能呢?
- IP欺骗 arp欺骗如何验证
- 有人用过NetRemoteTOD没有啊
- 如何使你写的一个自定义的窗口类“MyWndClass“在其他应用程序中都可以使用?
- 如何取得Tree Control上的CheckBox状态~
- 谁能提供与控制器相关的图标,满意的立马给分
- SOCKET中如何实现连续、匀速和尽快的发送?请各位指点一二!(我想给120分,怎么只能给55?)
- Release问题
- error C2039: 'Append' : is not a member of 'CString'
控件ID应该都是int型常量啊。
int prefix=IDC_EDIT1;
for (int i=1;i<=50;i++)
{
(CEdit*)GetDlgItem(prefix+i)->EnableWindow(true);
}
一般控件ID都是int型的常量,上面的代码的前提得是这些控件的ID得是连续的。
其实IDC_EDIT1就是一个常量。
你去看一下resource.h,里面的定义一般是这样的:
#define IDC_EDIT1 10001
#define IDC_EDIT2 10002
我所说的连续是指后面的10001这些必须要连续。