Informationen zu Rebar-Steuerelementen

Ein Rebar-Steuerelement fungiert als Container für untergeordnete Fenster. Sie kann ein oder mehrere Bänder enthalten, und jedes Band kann eine beliebige Kombination aus einer Ziehleiste, einer Bitmap, einer Textbezeichnung und einem untergeordneten Fenster aufweisen. Eine Anwendung weist ein untergeordnetes Fenster (in der Regel ein anderes Steuerelement) einem Leisten-Steuerband zu. Wenn Sie ein Leisten-Steuerelementband dynamisch neu positionieren, verwaltet das Rebar-Steuerelement die Größe und Position des untergeordneten Fensters, das diesem Band zugewiesen ist. Außerdem kann eine Anwendung eine Hintergrundbitmap für ein Band angeben, und das Rebar-Steuerelement zeigt das untergeordnete Fenster des Bandes über der Bitmap an.

Der folgende Screenshot zeigt ein Rebar-Steuerelement mit zwei Bändern. Eine enthält eine Symbolleiste, die andere ein Kombinationsfeld. Beide Bänder verfügen über einen Ziehpunkt, mit dem sie verschoben und ihre Größe geändert werden können.

Screenshot des Dialogfelds mit einem Steuerelement für die Benutzeroberfläche mit einem Band, das eine Symbolleiste und ein Band mit einem Kombinationsfeld enthält

Hinweis

Das Beleistensteuerelement ist in Version 4.70 und höher von Comctl32.dll implementiert.

 

Beleistenbänder und untergeordnete Fenster

Eine Anwendung definiert die Merkmale eines Balkenbands mithilfe der RB_INSERTBAND und RB_SETBANDINFO Meldungen. Diese Nachrichten akzeptieren die Adresse einer REBARBANDINFO-Struktur als lParam-Parameter . Die REBARBANDINFO-Strukturmember definieren die Merkmale eines bestimmten Bandes. Um die Merkmale eines Bandes festzulegen, legen Sie den cbsize-Member fest, um die Größe der Struktur in Bytes anzugeben. Legen Sie dann den fMask-Member fest, um anzugeben, welche Strukturmember Ihre Anwendung füllt.

Um einem Band ein untergeordnetes Fenster zuzuweisen, schließen Sie das flag RBBIM_CHILD in den fMask-Member der REBARBANDINFO-Struktur ein, und legen Sie dann den hwndChild-Member auf das Handle des untergeordneten Fensters fest. Anwendungen können die mindest zulässige Breite und Höhe eines untergeordneten Fensters in den Elementen cxMinChild und cyMinChild festlegen.

Wenn ein Beleistensteuerelement zerstört wird, werden alle untergeordneten Fenster zerstört, die den darin enthaltenen Bändern zugewiesen sind. Um zu verhindern, dass das Steuerelement untergeordnete Fenster zerstört, die seinen Bändern zugewiesen sind, entfernen Sie die Bänder, indem Sie die RB_DELETEBAND-Nachricht senden, und verwenden Sie dann die RB_SETPARENT-Nachricht , um das übergeordnete Fenster auf ein anderes Fenster zurückzusetzen, bevor das Steuerelement für die Bewehrung zerstört wird.

Benutzeroberfläche des Steuerelements für die Leiste

Die Größe aller Balkensteuerungsbänder kann geändert werden, mit Ausnahme von Bändern, die die RBBS_FIXEDSIZE Formatvorlage verwenden. Um die Größe der Bänder innerhalb des Steuerelements zu ändern oder die Reihenfolge der Bänder zu ändern, klicken Und ziehen Sie die Ziehleiste eines Bandes. Das Beleistensteuerelement ändert automatisch die Größe und positioniert untergeordnete Fenster, die seinen Bändern zugewiesen sind. Darüber hinaus können Sie die Größe eines Bandes umschalten, indem Sie auf den Bandtext klicken, falls vorhanden.

Bildliste des Balkensteuerelements

Wenn eine Anwendung eine Bildliste mit einem Beleistensteuerelement verwendet, muss sie die RB_SETBARINFO Nachricht senden, bevor sie dem Steuerelement Bänder hinzufügt. Diese Nachricht akzeptiert die Adresse einer REBARINFO-Struktur als lParam-Parameter . Bereiten Sie vor dem Senden der Nachricht die REBARINFO-Struktur vor, indem Sie den cbSize-Member auf die Größe der Struktur in Bytes festlegen. Wenn dann das Beleistensteuerelement Bilder auf den Bändern anzeigt, legen Sie das fMask-Element auf das flag RBIM_IMAGELIST fest, und weisen Sie dem himl-Member ein Bildlistenhandle zu. Wenn die Leiste keine Bandbilder verwendet, legen Sie fMask auf 0 (null) fest.

Balkensteuerungsnachrichtenweiterleitung

Ein Balkensteuerelement leitet alle WM_NOTIFY Fenstermeldungen an das übergeordnete Fenster weiter. Darüber hinaus leitet ein Beleistensteuerelement alle Nachrichten weiter, die von Fenstern gesendet werden, die seinen Bändern zugewiesen sind, z. B. WM_CHARTOITEM, WM_COMMAND usw.