Besturingselementen voor opnieuw balken
Een Besturingselementen voor opnieuw balken fungeert als een container voor onderliggende vensters. Het kan een of meer bandenbevatten, en elke band kan elke combinatie hebben van een greepbalk, een bitmap, een tekstlabel en één onderliggend venster. Een toepassing wijst een kindvenster (meestal een ander besturingselement) toe aan een rebar-bedieningselement. Wanneer u een besturingsband voor een rebar dynamisch verplaatst, beheert het besturingselement voor de balk de grootte en positie van het onderliggende venster dat aan die band is toegewezen. Een toepassing kan ook een achtergrondafbeelding voor een band opgeven, en het rebar-besturingselement zal het child-venster van de band over de afbeelding tonen.
In de volgende schermafbeelding ziet u een rebar-besturingselement met twee stroken. De ene bevat een werkbalk en de andere bevat een keuzelijst. Beide banden hebben een gripper waarmee ze kunnen worden verplaatst en van formaat veranderd.
Notitie
Het besturingselement voor de balk is geïmplementeerd in versie 4.70 en hoger van Comctl32.dll.
Balkbanden en onderliggende vensters
Een toepassing definieert de eigenschappen van een rebar-band met behulp van de RB_INSERTBAND- en RB_SETBANDINFO-berichten. Deze berichten accepteren het adres van een REBARBANDINFO structuur als de parameter lParam. De REBARBANDINFO structuurleden definiëren de eigenschappen van een bepaalde band. Als u de kenmerken van een band wilt instellen, stelt u de cbsize lid in om de grootte van de structuur in bytes aan te geven. Stel vervolgens het fMask- lid in om aan te geven welke structuurleden uw toepassing vult.
Als u een onderliggend venster aan een band wilt toewijzen, neemt u de vlag RBBIM_CHILD op in de fMask- lid van de REBARBANDINFO structuur en stelt u de hwndChild lid in op de ingang van het onderliggende venster. Toepassingen kunnen de minimale toegestane breedte en hoogte van een onderliggend venster instellen in de cxMinChild en cyMinChild leden.
Wanneer een "rebar control" wordt vernietigd, worden alle onderliggende vensters vernietigd die aan de banden daarin zijn toegewezen. Als u wilt voorkomen dat het besturingselement onderliggende vensters vernietigt die aan de banden zijn toegewezen, verwijdert u de banden door het RB_DELETEBAND bericht te verzenden en gebruikt u vervolgens het RB_SETPARENT bericht om het bovenliggende venster opnieuw in te stellen op een ander venster voordat u het rebar-besturingselement vernietigt.
De gebruikersinterface voor opnieuw balkbeheer
Alle controlebanden voor wapening kunnen worden gewijzigd, behalve de banden die gebruikmaken van de stijl RBBS_FIXEDSIZE. Als u de grootte van de banden binnen het besturingselement wilt wijzigen of de volgorde ervan wilt aanpassen, klikt u op de greepbalk van een band en sleept u deze. Het rebar-besturingselement verandert automatisch de grootte en positie van kindvensters die aan de bijbehorende delen zijn toegewezen. Daarnaast kunt u de grootte van een band in- of uitschakelen door op de tekst van de band te klikken, indien aanwezig.
De afbeeldingslijst van de Rebar Control
Als een toepassing gebruikmaakt van een lijst met afbeeldingen met een rebar-besturingselement, moet het RB_SETBARINFO bericht worden verzonden voordat er secties aan het besturingselement worden toegevoegd. Dit bericht accepteert het adres van een REBARINFO structuur als de parameter lParam. Voordat u het bericht verzendt, bereidt u de REBARINFO structuur voor door de cbSize lid in te stellen op de grootte van de structuur, in bytes. Vervolgens, als het rebar-besturingselement afbeeldingen op de banden gaat weergeven, stelt u het fMask- lid in op de RBIM_IMAGELIST vlag en wijst u een afbeeldingslijst-handle toe aan het himl- lid. Als de rebar geen bandafbeeldingen gebruikt, zet fMask op nul.
Rebar-controlebericht doorsturen
Met een besturingselement voor balk worden alle WM_NOTIFY vensterberichten doorgestuurd naar het bovenliggende venster. Bovendien stuurt een regelaar voor de balk alle berichten die naar de balk worden verzonden, door vanuit vensters die zijn toegewezen aan zijn specifieke banden, zoals WM_CHARTOITEM, WM_COMMANDen andere.