Das Rebar-Control erzeugen


Das Rebar-Control ist Ihnen möglicherweise unter dem Namen Coolbar (Delphi-VCL) bekannt. Es handelt sich dabei um ein Control, das seinerseits andere Controls kapseln kann. Sie können beispielsweise Toolbars, Buttons, Comboboxen, usw. als so genannte "Bands" einfügen. So stellt beispielsweise der Internet Explorer seine Toolbars dar.
Für dieses Kapitel wollen wir grob auf das Beispiel aus Microsofts PSDK zurückgreifen.

Das Erzeugen des Rebar-Controls unterscheidet sich nicht weiter von den bisher besprochenen Controls. Sie benutzen wie üblich den Befehl "CreateWindowEx" mit dem Klassennamen des Controls (hier REBARCLASSNAME):

hwndRebar := CreateWindowEx(WS_EX_TOOLWINDOW,REBARCLASSNAME,nil,
  WS_VISIBLE or WS_BORDER or WS_CHILD or WS_CLIPCHILDREN or
  WS_CLIPSIBLINGS or RBS_VARHEIGHT or RBS_BANDBORDERS,0,0,0,0,
  hwndParent,IDC_REBAR,hInstance,nil);


InitCommonControlsEx

Wenn Sie den Befehl "InitCommonControlsEx" verwenden, müssen Sie für die dwICC-Membervariable die Klasse ICC_COOL_CLASSES benutzen.


Spezielle Fensterstile

Schauen wir uns kurz die benutzten Stilattribute und weitere Möglichkeiten an:

Wert Bedeutung
RBS_VARHEIGHT Die jeweiligen "Bands" können unterschiedliche Höhen haben. Ohne dieses Attribut wird für alle "Bands" die gleiche Höhe benutzt.
RBS_BANDBORDERS Die einzelnen "Bands" sind optisch voneinander getrennt.
RBS_VERTICALGRIPPER Wird das Rebar-Control mit dem Stil CCS_VERT erstellt, wird der Gripper (das Element zum Vergrößern und Verkleinern des Bandes) vertikal dargestellt.
RBS_AUTOSIZE Das Control passt automatisch die Bänder an, wenn sich seine Größe oder Position ändert.

(Weitere Attribute finden Sie wie immer im MSDN oder PSDK von Microsoft.)