Programmierung

Klassische vs. Themed Darstellung

Ein wichtiger Gesichtspunkt bei der Erstellung einer Anwendung ist die Benutzer-Oberfläche. Sie sollte dem „Look & Feel“ des Betriebssystems möglichst nahe kommen. CONZEPT 16 nimmt dem Software-Entwickler hierbei schon einige Arbeit ab.

Ab Windows XP können Anwendungen, die eine Benutzer-Oberfläche besitzen, in zwei Modi betrieben werden. Standardmäßig ist bei den Server-Betriebssystemen die klassiche Darstellung aktiv. Wobei hingegen bei den Desktop-Varianten die sogenannten „Visual Styles“ bzw. die Themed-Darstellung aktiv ist. Die Abb. 1a bis 1c zeigen, was gemeint ist.

KlassichAbb. 1a: Klassiche Darstellung
Windows XPAbb. 1b: Windows XP themed
Windows 7Abb. 1c: Windows 7 themed

Diese Umschaltung ist sogar im laufenden Betrieb möglich. Eine Anwendung muss also beide Varianten unterstützen.

Themed oder nicht themed…

Für bestimmte Fälle kann es notwendig sein, dass ermittelt werden muss, ob Visual Styles aktiv sind oder nicht. Hierzu kann die Option _WinThemeActive an den Befehl WinInfo übergeben werden:

if (WinInfo(0, _WinThemeActive) > 0)
  // Windows Themed-Darstellung ist aktiviert
else
  // Betriebssystem unterstützt keine Themes (Win2K)
  // oder läuft im klassischen Modus (WinXP,Vista,7)

Ebenso kann die Themed-Darstellung explizit für die Applikation ausgeschaltet werden:

// Klassische Darstellung wählen
_App->wpStyleTheme # _WinStyleThemeNone;

Standardmäßig steht die Eigenschaft wpStyleTheme jedoch auf _WinStyleThemeSystem, so dass alle Oberflächen-Objekte automatisch in die jeweils richtige Darstellung wechseln. Es gibt jedoch einige Objekte, bei denen u. U. Anpassungen notwendig sind.

Toolbars

Frame-Objekte besitzen die Eigenschaft wpThemeBkg. Toolbar- und WindowBar-Objekte werden in der Themed-Darstellung gezeichnet, wenn die Eigenschaft gesetzt ist. Abb. 2a und 2b verdeutlichen dies.

Toolbar klassischAbb. 2a: Toolbar klassisch
Toolbar themedAbb. 2b: Toolbar themed
Tooltips

Kommt der Mauszeiger auf einem Oberflächen-Objekt zur Ruhe, dann hat der Entwickler die Möglichkeit einen Tooltip einzublenden. Die visuelle Darstellung wird hierbei über die Eigenschaft wpHelpTipSysFont gesteuert. Steht diese auf TRUE, dann werden die Tooltips in der Themed-Darstellung gezeichnet (Abb. 3a und 3b).

Tooltips klassischAbb. 3a: Tooltips klassisch
Tooltips themedAbb. 3b: Tooltips themed
Notebook

Dieses Objekt kommt sehr häufig zur Anwendung. Standardmäßig werden die Register-Reiter im klassischen Stil dargestellt. Mit der Eigenschaft wpStyleTab kann dies geändert werden. Die Ausprägung _WinStyleTabTheme aktiviert die Themed-Darstellung (Abb. 4a und 4b).

Notebook klassischAbb. 4a: Notebook klassisch
Notebook themedAbb. 4a: Notebook themed
Progress

Die Darstellung des Fortschrittsbalkens hängt von der Eigenschaft wpStyleShade ab. Nur wenn diese den Wert _WinStyleShadeTheme enthält, wird dieser auch themed gezeichnet (Abb. 5a und 5b).

Progress klassischAbb. 5a: Progress klassisch
Progress themedAbb. 5b: Progress themed
Zusammenfassung

Die obigen Punkte stellen sicherlich nur kleine Verbesserungen des Gesamt-Erscheinungsbildes einer Anwendung dar, da natürlich auch andere Aspekte berücksichtigt werden müssen. Jedoch unterstützen Sie das einheitliche Look & Feel der Anwendung, wenn sie konsequent eingesetzt werden.

2 Kommentare

2 Kommentare “Klassische vs. Themed Darstellung”

  1. Neben dem Metro Interface von Windows 8 gibt es auch weiterhin den Desktop, wie er von Windows 7 bekannt ist. Dort werden auch die CONZEPT 16-Anwendungen laufen. Die Oberfläche ist weitgehend identisch zum Windows 7 Areo-Stil.

Kommentar abgeben