|
Die Unterschiede in den einzelnen Implementation der Common Controls ergeben sich aus den permanenten Weiterentwicklungen bei Microsoft. Die Basisversion der Common Controls, die in der Datei COMCTL32.DLL enthalten sind, wurde mit Windows 95 ausgeliefert. Hier waren erstmals Standards wie ListView und TreeView enthalten.
Mit dem Internet Explorer 3 führte Microsoft neue Controls sowie Verbesserungen der bestehenden Controls ein. So enthielt die mit IE3 gelieferte Version von COMCTL32.DLL u.a. flache Toolbars oder auch neue Controls wie die Datums-Auswahl.
Der Internet Explorer 4 fügte als Unterstützung flache Laufleisten hinzu und änderte das Verhalten der Toolbar Control, was dazu führte, daß bestehende MFC-Anwendungen nicht mehr korrekt liefen, da die MFC-Klasse CToolBar eine fest codierte Größe für Separatoren enthielt.
Damit eine Anwendung korrekt funktionieren und von den unterschiedlichen Features Gebrauch machen kann, muß zunächst die installierte Version der Common Controls ermittelt werden. Dazu sollten die nachfolgenden Konstanten vor der Deklaration einer von CWinApp abgeleiteten Klasse eingefügt oder via spezieller Header-Datei eingebunden werden.
enum COMCTL32VERSION { COMCTL32_UNKNOWN, COMCTL32_400,
COMCTL32_470, COMCTL32_471};
Diese Konstanten sind wie nachfolgend zu interpretieren.
|
Konstante
|
Version
|
Lieferant
|
|
COMCTL32_UNKNOWN
|
-.--
|
unbekannt
|
|
COMCTL32_400
|
4.00
|
Windows 95
|
|
COMCTL32_470
|
4.70
|
IE 3
|
|
COMCTL32_471
|
4.71
|
IE 4
|
Als nächstes muß die Header-Datei der Anwendung, sowie die von CWinApp abgeleitete Klasse um die Erkennung der Common Control Version erweitert werden. Dazu wird im privaten Abschnitt ein member und im öffentlichen Abschnitt die entsprechende Funktion deklariert.
|