Theme-Support ermitteln bzw. an- und abschalten
 Info  
Von : Wolfgang Kluge
 Zusatz  
Beispielprojekt (1,54kB)
Printfreundliche Ansicht
 
 Betriebssystem erkennen
 Visual Styles Reference
in der MSDN
Wer mal Windows®XP gesehen hat, der wir bestätigen können, dass die Designänderungen als primäres Merkmal mehr als stark herausstechen.
Nun mag man sich über Sinn und Unsinn einer solcher Änderungen streiten können(es gab mit dem Plus-Pack ja schon seit Win95 was ähnliches, und da wurde gestritten*g*). Fakt ist, dass viele User die Standardeinstellung des Desktopdesigns bestehen lassen, und viele andere diese Einstellung wissentlich beibehalten.

Nun kann es ja vorkommen, dass ein Programm die Grundeinstellung ändern will. Aus welchen Gründen auch immer ;) Und dazu gibt es eine ganze Reihe von Funktionen, alle definiert in der Theme-API. Zwei der wesentlichsten all dieser Funktionen werden heute vorgestellt.

 Deklaration:
Private Declare Function EnableTheming Lib "UxTheme.dll" (ByVal fEnable As Boolean) As Long
Private Declare Function IsThemeActive Lib "UxTheme.dll" () As Long


Wie so oft bin ich wegen der hohen Selbstaussage der Funktionen in Erklärungsnot ;).
Mit der EnableTheming-Funktion wird nichts anderes erreicht, wie ein Umschalten zwischen "Windows XP-Stil" (bzw. aktuellem Stil) und "Windows - klassisch" in der Dialogfeld Anzeige der Systemsteuerung (Tab Design oder Darstellung).
Mit der 2. Funktion wird genau dies Abgefragt. Es geht bei beiden Funktionen nur ums Grundsätzliche. Also Theme-Support oder nicht.

Da man nun damit den Users ganz schön ärgern kann, würde ich Euch nahelegen, die Einstellung entweder nur auf Nachfrage zu machen, oder aber am Ende des Programms die eigentliche Einstellung zurückzusetzten..
Ansonsten landet euer Programm bestimmt als "gefährdete Art" schnell im Mülleimer..
' Aktuelle Einstellung auslesen
' "Windows XP-Stil" oder "Windows - klassisch"
If IsThemeActive <> 0 Then
  MsgBox "Windows - XP-Stil"
Else
  MsgBox "Windows - klassisch"
End If

' Einstellung ändern
EnableTheming False ' Windows - klassisch setzen
EnableTheming True ' Windows XP-Stil setzen


Ja,.. Das ist es auch schon wieder gewesen.