Om kontrollreglage för armering

En Rebar-kontroll fungerar som en behållare för underordnade fönster. Det kan innehålla ett eller flera band, och varje band kan ha valfri kombination av en gripstång, en bitmapp, en textetikett och ett underordnat fönster. Ett program tilldelar ett underfönster—vanligtvis en annan kontroll—till ett rebar-kontrollband. När du dynamiskt omplacerar ett armeringskontrollband hanterar kontrollen av armeringslisten storleken och positionen för det underordnade fönstret som är tilldelat det bandet. Dessutom kan en applikation ange en bakgrundsbitmapp för ett band, och verktygsfältkontrollen visar bandets underordnade fönster över bitmappen.

Följande skärmbild visar en Rebar-kontroll som har två band. Den ena innehåller ett verktygsfält och den andra innehåller en kombinationsruta. Båda banden har ett handtag som gör att de kan flyttas och storleksändras.

skärmbild av dialogrutan som visar en omlistekontroll med ett band som innehåller ett verktygsfält och ett band som innehåller en kombinationsruta

Not

Armeringsstyrningen implementerades i version 4.70 och senare av Comctl32.dll.

 

Armeringsband och popup-fönster

Ett program definierar ett rebarbands egenskaper med hjälp av RB_INSERTBAND och RB_SETBANDINFO meddelanden. Dessa meddelanden accepterar adressen för en REBARBANDINFO struktur som parametern lParam. REBARBANDINFO strukturmedlemmar definierar egenskaperna hos ett visst band. Ange ett bands egenskaper genom att ange cbsize medlem för att ange strukturens storlek, i byte. Ange sedan attributet fMask för att indikera vilka strukturmedlemmar din applikation fyller i.

Om du vill tilldela ett underordnat fönster till ett band tar du med flaggan RBBIM_CHILD i fMask medlem i REBARBANDINFO struktur, och ställer sedan in hwndChild medlem till det underordnade fönstrets handtag. Program kan ange minsta tillåtna bredd och höjd för ett underordnat fönster i medlemmarna cxMinChild och cyMinChild.

När en armeringskontroll förstörs, förstör den även alla underordnade fönster som har tilldelats till dess band. Om du vill förhindra att kontrollen förstör underordnade fönster som tilldelats dess band, tar du bort banden genom att skicka RB_DELETEBAND-meddelandet, och använder sedan meddelandet RB_SETPARENT för att återställa föräldrafönstret till ett annat fönster innan du tar bort rebar-kontrollen.

Användargränssnittet för armeringskontroll

Alla kontrollband för armeringsjärn kan ändras i storlek, förutom de som använder RBBS_FIXEDSIZE stil. Om du vill ändra storlek på eller ändra ordningen på band i kontrollen klickar du på och drar ett bands gripfält. Omlistkontrollen anpassar automatiskt storleken och positionen på de underordnade fönster som tilldelas dess band. Dessutom kan du växla storlek på ett band genom att klicka på bandtexten, om det finns några.

Rebar-kontrollens bildlista

Om ett program använder en bildlista med en rebar-kontroll måste det skicka meddelandet RB_SETBARINFO innan band läggs till i kontrollen. Det här meddelandet accepterar adressen för en REBARINFO- struktur som parametern lParam. Innan du skickar meddelandet förbereder du REBARINFO- strukturen genom att ange cbSize medlemmen till strukturens storlek i byte. Om rebar-kontrollen sedan ska visa bilder på banden, anger du fMask medlem till flaggan RBIM_IMAGELIST och tilldelar ett bildlist-handtag till himl medlem. Om fältet inte använder bandbilder anger du fMask till noll.

Vidarebefordran av kontrollmeddelande för armeringsjärn

En rebar kontroll vidarebefordrar alla WM_NOTIFY fönstermeddelanden till det överordnade fönstret. Dessutom vidarebefordrar en omlistekontroll alla meddelanden som skickas till den från fönster som tilldelats dess band, till exempel WM_CHARTOITEM, WM_COMMANDoch andra.