InitCommonControlsEx

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Spirit
Beiträge: 174
Registriert: 13.04.2005 19:09

InitCommonControlsEx

Beitrag 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?
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Debug doch mal das Ergebnis von InitCommonControlsEx_(@icex)...
"Returns TRUE if successful, or FALSE otherwise."
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Spirit
Beiträge: 174
Registriert: 13.04.2005 19:09

Beitrag von Spirit »

InitCommonControlsEx_() gibt #TRUE zurück. Es hat also anscheinend funktioniert, und trotzdem gibt's die Fensterklasse nicht.
Andreas
ToolbarKönig
Beiträge: 142
Registriert: 08.09.2004 08:33

Beitrag 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) 
Gruss Andreas
Benutzeravatar
Spirit
Beiträge: 174
Registriert: 13.04.2005 19:09

Beitrag von Spirit »

Vielen Dank!
Antworten