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

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

>> 请移步至 www.topomel.com 以查看图片 <<

这里,我们定义了一个列表控件(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》

为什么我的对话框创建失败了?菜鸟错误2_第1张图片

你可能感兴趣的:(OldNewThing,软件开发,系统设计,windows)