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类型。这要怎么改啊,很着急!!!
解决方案 »
- mfc类库在电脑上不可用是怎么回事?
- VC关闭程序时总是提示“试图执行系统不支持的操作”
- virtual inheritance时,vc71内存布局有些不懂。内文
- richedit20A中出现的问题。 改变样式。 一句话问题 。
- 小弟新建立一群请大家加入.4063868
- 如何在exe中包含释放一些数据文件?
- 求助!能不能在CComboBox中添加线型??
- 如何把自己写的扩展的TreeCtrl类与TreeView联系起来呢
- 怎么学VC啊,菜鸟的菜菜的问题啊。
- 字符数组与函数参数的问题
- 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这些必须要连续。