Die Community zu .NET und Classic VB.
Menü

Skin Frameworks - Moderner Look für VB6-Anwendungen

 von 

Mit CodeSmart habe ich vor einiger Zeit ein AddIn für VB Classic vorgestellt, das die VB-IDE mit modernen Features ausstattet und die Entwicklerarbeit angenehmer und produktiver macht. Die damit erzeugten Programme, also unsere kompilierten Anwendungen, profitieren davon aber nur indirekt, weil sich prinzipiell an der kompilierten EXE-Datei nichts ändert.

VB-Anwendungen sind nicht langsam. Durch den direkten Zugriff per API auf die Betriebssystem-Funktionen oder gar die Verwendung von ASM-Code wird die Funktionalität von VB so erweitert, dass nur noch wenige Anwendungsszenarien außen vor bleiben.

Bleibt nur noch ein Manko: VB-Anwendungen sehen selbst unter aktuellen Betriebssystemen aus wie vor 15 Jahren. Gut, es gibt Anwender, die selbst in Windows 7 die Windows 2000 Oberfläche aktiviert haben und auf Microsoft schimpfen, weil sie dieser Möglichkeit in Windows 8 beraubt wurden. Diese Anwender freuen sich vermutlich, wenn sie den altbackenen VB-Fenstern begegnen.

Was tun? Zunächst kann man per Manifest-Datei und InitCommonControls die Common Controls initialisieren. Das aktiviert die Visual Styles (siehe ActiveVB-Kolumne 18: "Windows XP Visual Styles" und VB - ein Traumpaar?) und sorgt für eine optische Annäherung an das übergeordnete Betriebssystem. Moderne Oberflächen bekommt man auch mit der Nutzung der Cairo-Widgets aus Olaf Schmidts vbRichClient5. Bei dieser Variante kommt man aber nicht um die Neuprogrammierung der GUI herum. Der Aufwand, bestehende Anwendungen so auf den neuesten optischen Stand zu bringen, ist groß.

Ich möchte Ihnen heute eine weitere Option vorstellen: Die Firma Codejock Software bietet das Xtreme SkinFramework Control, mit dem der VB-Entwickler seine GUIs mit unterschiedlichen Skins ausstatten kann. Das Control arbeitet auf allen Windows-Plattformen ab Windows95/NT4 bis inklusive Windows 8.1. Was damit erreicht wird, soll folgender Screenshot verdeutlichen:


Abbildung 1: Vorschau auf die Möglichkeiten des Skin Framework

Wie Sie sehen, wirkt das Skin nicht nur auf die Standard-Steuerelemente, sondern auch auf das Fenster, das Menü, die Dialoge (hier das MS Common Dialog Control 6.0) und die Zusatz-Steuerelemente (hier die MS Windows Common Controls 5.0, die Common Controls 6.0 werden auch unterstützt). Von Haus aus liefert Codejock mit dem Skin-Framework unterschiedliche Skins mit, die sich an den bekannten Office- (2007-2010) oder Windows-Oberflächen (XP bis W8) orientieren. Darüber hinaus gibt es weitere Codejock-Skins und einen Skin-Builder, mit dem Sie Ihre GUIs individualisieren können. Weitere Skins finden sich auf der Seite des Herstellers. Mit im Paket finden Sie Code-Beispiele, welche die Einfachheit der Anwendung verdeutlichen:

SkinFramework.LoadSkin App.Path + "\Styles\Office2007.cjstyles", ""
SkinFramework.ApplyWindow Me.hWnd
SkinFramework.ApplyOptions = SkinFramework.ApplyOptions Or xtpSkinApplyMetrics

Der Wechsel zu einen alternativen Skin erfolgt mit:

SkinFramework.LoadSkin App.Path + "\Styles\Vista.cjstyles", "NormalBlack2.ini" 

Mit diesen wenigen Codezeilen und einer Skin Framework for ActiveX-Lizenz für ca. 100 EUR bieten Sie Ihren Anwendern optisch ansprechende Oberflächen und die Option diese selbst zu wählen. Wem das nicht reicht, der findet weitere interessanten GUI-Controls (Command-Bars, Kalender, Chart, Docking, Report usw.) auf der codejock-Seite unter http://www.codejock.com.

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.