C 是一个;按钮“;共同控制?

C 是一个;按钮“;共同控制?,c,winapi,C,Winapi,INITCOMMONCONTROLSEX结构提到以下内容: 国际商会标准课程 加载一个内在的User32控件类。用户控制 包括按钮、编辑、静态、列表框、组合框和滚动条 我不明白这意味着什么,“按钮、编辑、静态、列表框、组合框”是否被视为常用控件 我认为原因如下: 这些控件有两个版本,一个版本驻留在user32.dll中,另一个版本驻留在comctl32.dll中,现在当我使用视觉样式(通过向程序添加清单文件)时,使用的版本将是comctl32.dll的版本,如果我使用视觉样式,那么我应该使用I

INITCOMMONCONTROLSEX
结构提到以下内容:

国际商会标准课程

加载一个内在的User32控件类。用户控制 包括按钮、编辑、静态、列表框、组合框和滚动条

我不明白这意味着什么,“按钮、编辑、静态、列表框、组合框”是否被视为常用控件


我认为原因如下:

这些控件有两个版本,一个版本驻留在user32.dll中,另一个版本驻留在comctl32.dll中,现在当我使用视觉样式(通过向程序添加清单文件)时,使用的版本将是comctl32.dll的版本,如果我使用视觉样式,那么我应该使用
ICC\u标准\u类
调用


这是正确的吗?

早在XP主题之前,标准的、基本的user32控件之间就有区别。按钮、编辑、静态、列表框和组合框。早在早期版本的Windows中,这就是它的全部

后来出现了通用控件。列表视图、树状视图、工具栏、状态栏、进度栏、日期时间选择器等。您必须调用
InitCommonControls
来初始化这些控件


随着XP主题的出现,您现在必须调用
InitCommonControlsEx
来注册所有控件,甚至是按钮、编辑等标准控件。但我不认为它们是共同的控制。对我来说,基本控件、按钮、编辑等与常用控件、列表视图、树视图等之间有区别。但这并不是一个重要的区别。你真的不需要担心它

因此,我需要使用ICC标准类调用
InitCommonControlsEx()
来使用“按钮、编辑、静态、列表框、组合框”?我已经很长时间没有调用
InitCommonControlsEx()
而使用这些控件了,这有什么问题吗?对于XP主题,即使是标准控件,至少根据文档,你也应该调用
InitCommonControlsEx
。额外阅读:。