龙空技术网

小技巧:VS2010中添加控件成员变量没有反应的问题

漫漫开发路 180

前言:

眼前咱们对“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工具箱中没有控件