Theme-Support für einzelne Fenster an- und abschalten

Wolfgang Kluge
wolfgang@vbwelt.de

Ganz genauso wie im ersten Tip über Theme-Support gehts gerade weiter.
Wenn man für sein Fenster den Theme-Support an- bzw. abschalten will, aber die Systemeinstellungen so belassen möchte, wie Sie sind, dann hilft heutiger Tip weiter.

Ach ja,.. nicht vergessen:
Alles, was eine hWnd-Eigenschaft hat, ist unter Windows ein Fenster!! Also jedem Button, jeder CheckBox usw. kann einzeln der "Visual Style" entzogen werden.

 Deklaration:
Private Declare Sub SetWindowTheme Lib "UxTheme.dll" (ByVal hwnd As Long, ByVal pszSubAppName As Long, ByVal pszSubIdList As Long)


Viel mehr ists nicht. Die Strings werden als Pointer mit der undokumentierten Funktion StrPtr() übergeben.
Während dabei der erste Parameter (pszSubAppName) immer Leer bleibt, gibt der 2. Parameter an, welchen "Part" das Fenster anzuzeigen hat.

' Theme-Support abschalten
SetWindowTheme Me.hwnd, StrPtr(""), StrPtr("")

' Theme-Support anschalten
SetWindowTheme Me.hwnd, StrPtr(""), StrPtr("WINDOW")


Ihr könnt auch mal andere vordefinierte Parts wie "WINDOW" für eine Form ausprobieren.
Es bringt nicht sonderlich viel, sieht aber manchesmal ganz witzig aus. Zu nennen wären da beispielsweise "BUTTON", "SCROLLBAR" oder auch "PROGRESS".