The INITCOMMONCONTROLSEX
structure documentation mention the following:
ICC_STANDARD_CLASSES
Load one of the intrinsic User32 control classes. The user controls include button, edit, static, listbox, combobox, and scroll bar.
I don't understand what this means, are the "button, edit, static, listbox, combobox" considered to be common controls?!
I think the explanation for this is the following:
There are two versions of these controls, one version resides in user32.dll, and the other version resides is in comctl32.dll, now when I use Visual Styles (by adding a manifest file to my program), the version used will be that of comctl32.dll, and if I used Visual Styles then I should call InitCommonControlsEx() with ICC_STANDARD_CLASSES
.
Is this correct?
Back in the old days, before XP themes, a distinction was drawn between the standard, basic user32 controls. The button, edit, static, list box and combo box. Back in early versions of Windows this was all there was.
Later on the common controls came along. The list view, tree view, toolbar, status bar, progress bar, date time picker and so on. You had to call InitCommonControls
to initialize these controls.
With the advent of XP themes, you now have to call InitCommonControlsEx
to register all controls, even the standard controls like button, edit and so on. But I don't consider them to be common controls. To me there's the distinction between the basic controls, the button, edit and so on, and the common controls, list view, tree view etc. It's not really an important distinction though. You don't really need to worry about it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With