INITCOMMONCONTROLSEX
结构 documentation提及以下内容:
ICC_STANDARD_CLASSES
Load one of the intrinsic User32 control classes. The user controls include button, edit, static, listbox, combobox, and scroll bar.
我不明白这是什么意思,“按钮、编辑、静态、列表框、组合框”是否被认为是普通控件?!
我认为对此的解释如下:
这些控件有两个版本,一个版本驻留在 user32.dll 中,另一个版本驻留在 comctl32.dll 中,现在当我使用视觉样式时(通过向我的程序添加一个 list 文件),使用的版本将是 comctl32.dll,如果我使用视觉样式,那么我应该调用 InitCommonControlsEx()使用 ICC_STANDARD_CLASSES
。
这是正确的吗?
最佳答案
回到过去,在 XP 主题之前,标准的、基本的 user32 控件之间是有区别的。按钮、编辑、静态、列表框和组合框。在 Windows 的早期版本中,这就是全部。
后来出现了通用控件。 ListView 、 TreeView 、工具栏、状态栏、进度条、日期时间选择器等。您必须调用 InitCommonControls
来初始化这些控件。
随着 XP 主题的出现,您现在必须调用 InitCommonControlsEx
来注册所有控件,甚至包括按钮、编辑等标准控件。但我不认为它们是常见的控件。对我来说,基本控件、按钮、编辑等与通用控件、 ListView 、 TreeView 等之间存在区别。不过这并不是真正重要的区别。你真的不需要担心它。
关于c - "BUTTON"是普通控件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33312287/