向对话框添加控件导致对话框不再工作
更新:2007 年 11 月
将公共控件或 Rich Edit 控件添加到对话框之后,在测试对话框时该控件不出现,或者对话框本身不出现。
问题示例
创建 Win32 项目,修改应用程序设置以创建 Windows 应用程序(不是控制台应用程序)。
在资源视图中,双击 .rc 文件。
在对话框选项下,双击**“关于”**框。
将一个“IP Address Control”添加到对话框。
保存并“重新生成”。
执行程序。
在对话框的**“帮助”菜单上,单击“关于”**命令;没有显示任何对话框。
原因
目前,将下列公共控件或 Rich Edit 控件拖放到对话框上时,对话框编辑器不自动在项目中添加代码。当此问题发生时,Visual Studio 既不提供错误也不进行警告。必须手动为控件添加代码。
滑块控件 (Slider Control) |
树控件 (Tree Control) |
日期时间选取器 (Date Time Picker) |
数值调节钮控件 (Spin Control) |
选项卡控件 (Tab Control) |
月历 (Month Calendar) |
进度控件 (Progress Control) |
动画控件 (Animation Control) |
IP 地址控件 (IP Address Control) |
热键 (Hot Key) |
Rich Edit 控件 (Rich Edit Control) |
扩展组合框 (Extended Combo Box) |
列表控件 (List Control) |
Rich Edit 2.0 控件 (Rich Edit 2.0 Control) |
自定义控件 (Custom Control) |
公共控件的修复
为了在对话框上使用公共控件,需要在创建对话框之前调用 InitCommonControlsEx 或 AFXInitCommonControls。
RichEdit 控件的修复
必须为 Rich Edit 控件调用 LoadLibrary。有关更多信息,请参见 Windows SDK 中的对 RichEdit 1.0 控件使用 MFC、关于 Rich Edit 控件,以及 Rich Edit 控件概述。
要求
Win32