为什么我的对话框创建失败了?菜鸟错误2

为什么我的对话框创建失败了?菜鸟错误2

作者:BlogUpdater |  时间:2023-12-22 |  浏览:197 |  评论已关闭 条评论

另外一个创建对话框失败的原因来自如下代码,可能这个原因不那么容易看出来。

这里,我们定义了一个列表控件(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)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

评论已关闭。