win32项目中假如对话框有10个控件:IDC_EDIT1,IDC_EDIT2,IDC_EDIT3...如果不用枚举,如何根据用户输入的数字1,2,3来查到到控件IDC_EDIT1,IDC_EDIT2,IDC_EDIT3?
解决方案 »
- COM调用问题
- 如何引用同一個指標?
- 如何从字体文件名得到字体在系统中的名称
- listctrl控件删除多条记录的问题
- 正在学习SDK编程,问题多多,想找个老师解惑!!!
- 200分求助 CoInitializeEx( NULL,COINIT_MULTITHREADED) 函数
- 搞不懂DECLEAR_MESSAGE_MAP();
- 请问windows编程学习mfc,怎么才能较快的入门和进阶呢?
- window文件API编译错误问题
- 寻找enmity.
- vc6.0 通过配置文件进行ADO链接SQL数据库
- Microsoft Visual Studio 2010编译的exe文件不能在win2000server系统下运行?
GetDlgItem(IDC_EDIT1+i)来取得!
这个问题不难
#define Edit_X(x) IDC_EDIT##x
用户输入数字n,就这样调用
GetDlgItem(Edit_X(n))->SetWindowText("成功了");
到时找的时候根据你初始化的值来查找数组下标就OK了
你觉得这样能解决问题?俺倒不觉得。
C++跟VB不一样的,宏在编译期间就展开了,而不是在运行期间匹配,没有宏替换一说。
GetDlgItem(IDC_EDIT1+i)来取得!
========================================
实际使用中感觉这个还不错。IDC_EDIT1其实就是一个整数值,只要把连续的id+上一个固定值就可以得到你想要的。刚才我试验了一下,这个挺好