Seite 1 von 1

InitCommonControlsEx

Verfasst: 27.08.2005 13:28
von Spirit
Ich möchte in meinem Programm eine Rebar benutzen. (http://msdn.microsoft.com/library/defau ... /rebar.asp)

Jedoch muss man dazu vorher InitCommonControlsEx_() aufrufen, um die Rebar-Fensterklasse zur verfügung zu haben. Mein Code dazu sieht so aus:

Code: Alles auswählen

icex.INITCOMMONCONTROLSEX

icex\dwSize=SizeOf(INITCOMMONCONTROLSEX)
icex\dwICC =#ICC_COOL_CLASSES|#ICC_BAR_CLASSES

InitCommonControlsEx_(@icex)

wndClass.WNDCLASS
Debug GetClassInfo_(0, "REBARCLASSNAME", @wndClass)
GetClassInfo_() gibt bei mir immer 0 zurück, also ist die Klasse nicht registriert. Habe ich irgendetwas falsch gemacht?

Verfasst: 27.08.2005 13:33
von Deeem2031
Debug doch mal das Ergebnis von InitCommonControlsEx_(@icex)...
"Returns TRUE if successful, or FALSE otherwise."

Verfasst: 27.08.2005 13:34
von Spirit
InitCommonControlsEx_() gibt #TRUE zurück. Es hat also anscheinend funktioniert, und trotzdem gibt's die Fensterklasse nicht.

Verfasst: 29.08.2005 14:03
von Andreas
Die Fensterklasse gibt es schon, Du übergibst nur den falschen Klassennamen bei GetClassInfo(...) .

Code: Alles auswählen

#ReBarWindow32 = "ReBarWindow32"

icex.INITCOMMONCONTROLSEX

icex\dwSize=SizeOf(INITCOMMONCONTROLSEX)
icex\dwICC =#ICC_COOL_CLASSES|#ICC_BAR_CLASSES

InitCommonControlsEx_(@icex)

wndClass.WNDCLASS

Debug GetClassInfo_(0, #ReBarWindow32, @wndClass) 

Verfasst: 29.08.2005 14:39
von Spirit
Vielen Dank!