> Programming

XP-Style 1.01


Dot Du willst, dass dein VB-Programm auch das Windows XP-Design verwendet? Es gibt unzählige Lösungen, die meisten funktionieren jedoch bei meinen Programmen nicht, da sie die "Common Controls" (MsComCtl.Ocx) voraussetzen, welche aber unverhältnismäßig groß sind und ich sie deshalb vermeide.

So bin ich im VB-Archiv auf diese Methode gestoßen, mit der man ganz einfach den XP-Style per Manifest, das sich direkt in der Anwendungs befindet, an- und abschalten kann. Natürlich funktioniert das Programm dann immer noch unter Win9x, WinME und Win2K.

Ich habe für das Grundprogramm eine einfache Oberfläche gestaltet, auf der du nur die zu stylende Anwendung auswählen musst. Die einzige Voraussetzung, dass das Programm funktioniert, ist aber, dass die ComCtl32.Dll in einer halbwegs aktuellen Version (5.80, ist z.B. bei Internet Explorer 5 dabei) vorhanden ist. Da sie aber von den meisten Programmen benötigt wird, ist diese auf fast jedem Rechner installiert.

Doch es kommt noch viel besser: Du kannst mit meinem Programm nicht nur deine VisualBasic-Programm stylen, sondern auch andere alte Programme, zum Beispiel die VB-IDE (VB6.EXE bei Visual Basic 6) selbst! Lege von den Programmen vorher aber eine Sicherungskopie an, denn es klappt nicht bei jedem...

Dot Seit Version 1.01 kannst du auch das Programm als Kommandozeilen-Parameter übergeben. Möchtest du den XP-Style wieder aus einem Programm entfernen, musst du den Dateinamen und den Schalter -r übergeben.

Mit dieser Methode kannst du das Programm direkt in den Build-Vorgang deiner IDE (falls diese so etwas unterstützt) einbauen oder XP-Style in Batch-Dateien verwenden.

Dot Das Programm wurde bereits mit FreeBASIC-Programmen getestet. Der XP-Style scheint zu funktionieren, doch ein Testprogramm wurde nach der Manipulation von einigen Antivirus-Programmen fälschlicherweise als Virus identifiziert!

Dot Falls du die Sub Main verwendest (was meiner Meinung nach ein besserer Programmierstil ist, als einfach direkt eine Form zu Beginn zu laden), solltest du das Codebeispiel, das im Programm angezeigt wird, dorthin verschieben (Also statt Sub Form_Initialize einfach Sub Main verwenden). Es wurde berichtet, dass sich dadurch auch eventuelle Speicherprobleme beheben lassen.

Nachtrag: Warum sind meine Radiobuttons schwarz?


Falls du schon einmal den XP-Style verwendet hast, ist dir vielleicht schon mal aufgefallen, dass einige Radiobuttons (auch "Option" genannt) schwarz sind, wie im Bild rechts. Doch woher kommt das!?

Nach ein paar Experimenten meinerseits war es klar: Die Radiobuttons werden schwarz unterlegt, wenn das Elternelement ein Frame ist! Der Übersicht wegen verwendet man Frames gerne zur Gruppierung von Radiobuttons, darauf kann und sollte man auch nicht verzichten. Denn das Problem ist lösbar!

Lösung: Die Radiobuttons brauchen ein anderes Elternelement - da bietet sich das universelle Picture-Element an. Lege deine Radiobuttons also in ein Picture-Element. Dieses positionierst du dann im Frame. Vergiss nicht, die Eigenschaft BorderStyle auf 0 - None zu setzen, damit man den hässlichen Rand des Picture-Elements nicht sieht!



Download (28 KB)


Klicke auf den Screenshot, um ihn in vergrößerter Form darzustellen.

Letzte Änderung: 25.10.2018, 20:56