Sie kennen das sicherlich: Sie haben ein Programm unter Windows XP laufen, doch werden die Standard-Controls weiterhin grau und eintönig dargestellt, wie bei den vorherigen Windows Versionen. Aber diesem kann man entgegenwirken - und zwar mit XML und ein wenig Windows API.
Fangen wir an: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="Firma.Projekt1.Projekt1" type="win32" /> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly> Da einige - von Programm zu Programm unterschiedliche - Änderungen vorgenommen werden müssen, schauen wir uns die wichtigsten Zeilen doch mal an: version="1.0.0.0" In dieser Zeile muss die exakte Programmversion stehen, falls diese fehlerhaft ist, kommt <>keine Veränderung der Controls zustande. name="IhreFirma.Projekt1.Produktname" Ersetzen Sie IhreFirma durch dem Namen Ihrer Firma, Projekt1 durch den internen Namen des Programmes und Produktname durch den Produktnamen Ihrer Applikation. Alle weiteren Sachen interessieren uns nicht und können unverändert übernommen werden (bitte beachten Sie, dass bei Aktualisierung des Programms die Manifestdatei ggf. geändert werden muss!) Nun öffnen Sie Ihr Projekt und fügen die Common Dialog Komponente in der Version 6.0 ein. Danach wechseln Sie ins Code-Fenster der Form und übernehmen folgende Deklaration: ' API-Deklaration, um die Initialisation der ' CommonControls zu ermöglichen Private Declare Sub InitCommonControls Lib "comctl32.dll" () Falls Sie möchten, können Sie nun noch abfragen, ob das verwendete Betriebssystem Windows XP ist und die Entscheidung, ob die Controls im XP-Design angezeigt werden, dem Anwedender überlassen. ' Prüfen, ob WinXP If ... Then Call InitCommonControls End If Platzieren Sie nun noch ein Objekt aus den Windows Common Controls auf die Form, kompilieren das Projekt und starten anschließend die so erstellte EXE-Datei. Und siehe da: die Controls/Objekte werden im WinXP-Design dargestellt
Aber was ist das? Die Progressbar ist gar nicht im XP Design! Hier muss noch ein wenig nachgeholfen werden. Fügen Sie die dem Projekt noch die Microsoft Common Controls 5.0 hinzu, und verwenden Sie die Progressbar daraus. Auf diese Weise kann dann nun auch die Progressbar im WindowsXP-Design bewundert werden.
Genau wie die Controls auf der Form werden nun auch MessageBoxen mit einem XP Button dargestellt. Dieser Tipp wurde bereits 38.209 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Januar 2025 Dieter Otter Zeilen einer MultiLine-TextBox ermitteln (VB.NET) Dieser Zipp zeigt, wie man die Zeilen einer MultiLine-TextBox exakt so ermitteln kann, wie diese auch in der TextBox dargestellt werden. sevGraph (VB/VBA) Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |