Theme-Support ermitteln bzw. an- und abschalten
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..
If IsThemeActive <> 0 Then
MsgBox "Windows - XP-Stil"
Else
MsgBox "Windows - klassisch"
End If
EnableTheming False
EnableTheming True
Ja,.. Das ist es auch schon wieder gewesen.