为什么我的对话框创建失败了?菜鸟错误2
另外一个创建对话框失败的原因来自如下代码,可能这个原因不那么容易看出来。
这里,我们定义了一个列表控件(ListView Control),但是需要注意的是,使用列表控件之前,需要调用 InitCommonControlsEx 来注册它的窗口类。
创建对话框失败的根本原因是:这个对话框上可能有些控件的窗口类没有提前注册。
如果你使用到了以下控件,则一定记得调用 来初始化它们。
> 工具栏(Toolbar)
> 状态栏(Status Bar)
> 树控件(Tree View)
> 列表控件(List View)
> 动画控件(Animation)
> 热键对象(Hot-key)
> 图片列表对象(Image list)
> 标签页(Tab)
这些控件的可执行代码都放在comctl32.dll中.要使用通用控件,必须通过 InitCommonControlsEx 来加载它.
例如,可能对话框上有一个富文本控件(RichEdit Control),但开发者没有在使用它之前正确的加载(LoadLibrary)它,就会导致对话框创建失败。
总结
请牢记以上编程”套路”,日后少走弯路。
同时,你对事物的理解将更加深入一个层次。
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Why can’t I create my dialog box? Rookie mistake #2》
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。
相关推荐
- Visual Studio 17.6 中的代码分析改进
- Posted on 03月13日
- 说说模态化8:一个更好版本的超时关闭对话框
- Posted on 06月14日
- 一个潜在问题:内存分配操作中可能出现的整数溢出
- Posted on 11月12日
- 为什么用户点击关闭按钮时通知图标得不到通知?
- Posted on 06月14日
评论已关闭。