前言:
眼前咱们对“vs工具箱中没有控件”可能比较注重,看官们都想要剖析一些“vs工具箱中没有控件”的相关内容。那么小编同时在网摘上搜集了一些有关“vs工具箱中没有控件””的相关文章,希望你们能喜欢,咱们一起来了解一下吧!今日发现奇怪的问题:
1) 系统中有一个已经使用多时的对话框,在对话框上添加一个按钮。
2) 在按钮上右键,选择”添加成员变量”。
3) 通常情况下,VS2010会弹出如下所示的对话框用于输入成员变量的信息。
但是,今天并没有。
新建一个对话框,并重复上述步骤,没有出现此问题。于是,对出现问题的对话框和正常情况的对话框进行全方位对比,发现
1) 两者对应的类的头文件和实现文件并无明显差异,说明不是因为代码文件导致的。
2) 两者的属性并无明显差异,说明不是因为对话框的属性导致的。
3) 对话框ID,发现在出问题的对话框上,定义同一数值的两个不同名称的ID。如下:
#define IDD_DIALOG1 328
#define IDD_DIALOG_TEST 328
查看该对话框头文件,发现使用的是
enum { IDD = IDD_DIALOG1 };
但是,此时对话框在资源视图中的ID已经定义为:IDD_DIALOG_TEST。
至此,解决方法就简单了:直接修改代码,将ID改为IDD_DIALOG_TEST即可。
所以,此问题的原因出在头文件中对话框的ID定义和资源视图中的ID不一致导致的。
温馨提醒:需要新增对话框和控件时,尽量避免出现值相同但名称不同的ID,经常性的检查一下resource.h文件,查看有哪些未使用的ID,尽早删除。
标签: #vs工具箱中没有控件