Informazioni sui controlli Rebar
Un controllo Rebar funge da contenitore per le finestre figlie. Può contenere una o più bande e ogni banda può avere qualsiasi combinazione di una barra di presa, una bitmap, un'etichetta di testo e una finestra secondaria. Un'applicazione assegna una finestra figlia, in genere un altro controllo, a una barra rebar. Quando si riposiziona dinamicamente una fascia di controllo della barra di rebar, il controllo della barra di rebar gestisce la dimensione e la posizione della finestra figlia assegnata a tale fascia. Inoltre, un'applicazione può specificare una bitmap di sfondo per una banda, e il controllo del rebar visualizzerà la finestra figlia della banda sopra la bitmap.
La seguente schermata mostra un controllo rebar con due bande. L'una contiene una barra degli strumenti e l'altra contiene una casella combinata. Entrambe le bande hanno un'impugnatura che consente di spostarle e ridimensionarle.
Nota
Il controllo rebar viene implementato nella versione 4.70 e successive di Comctl32.dll.
Bande di armature e finestre figlie
Un'applicazione definisce i tratti di una banda rebar usando i messaggi RB_INSERTBAND e RB_SETBANDINFO. Questi messaggi accettano l'indirizzo di una struttura REBARBANDINFO come parametro lParam. I membri della struttura REBARBANDINFO definiscono i tratti di una determinata banda. Per impostare i tratti di una banda, impostare il membro cbsize per indicare la dimensione della struttura, in byte. Impostare quindi il membro fMask per indicare quali membri della struttura vengono impostati dall'applicazione.
Per assegnare una finestra figlia a una banda, includere il flag RBBIM_CHILD nel fMask membro della struttura REBARBANDINFO e quindi impostare il membro hwndChild sull'handle della finestra figlia. Le applicazioni possono impostare la larghezza minima consentita e l'altezza minima consentita di una finestra figlio nei membri cxMinChild e cyMinChild.
Quando un controllo rebar viene eliminato definitivamente, elimina tutte le finestre figlio assegnate alle bande al suo interno. Per impedire al controllo di distruggere le finestre figlio assegnate alle sue bande, rimuovere le bande inviando il messaggio RB_DELETEBAND e quindi utilizzare il messaggio RB_SETPARENT per reimpostare il genitore in un'altra finestra prima di distruggere il controllo rebar.
Interfaccia utente di controllo Rebar
Tutte le bande di controllo rebar possono essere ridimensionate, ad eccezione di quelle che usano lo stile RBBS_FIXEDSIZE. Per ridimensionare o modificare l'ordine delle bande all'interno del controllo, cliccare e trascinare la barra di presa della banda. Il controllo rebar ridimensiona e riposiziona automaticamente le finestre figlio assegnate alle relative bande. Inoltre, è possibile attivare o disattivare le dimensioni di una banda facendo clic sul testo della banda, se presente.
Elenco di immagini del controllo Rebar
Se un'applicazione usa un elenco di immagini con un controllo rebar, deve inviare il messaggio RB_SETBARINFO prima di aggiungere bande al controllo. Questo messaggio accetta l'indirizzo di una struttura REBARINFO come parametro lParam. Prima di inviare il messaggio, prepara la struttura REBARINFO impostando il membro cbSize alla dimensione della struttura, in byte. Quindi, se il controllo rebar visualizzerà immagini sulle bande, impostare il membro fMask sul flag di RBIM_IMAGELIST e assegnare un handle di elenco di immagini al membro himl. Se l'armatura non utilizzerà immagini di banda, impostare fMask a zero.
Inoltro del messaggio di controllo delle barre di rinforzo
Un controllo rebar inoltra tutti i messaggi della finestra WM_NOTIFY alla finestra padre. Inoltre, un controllo rebar inoltra tutti i messaggi inviati da finestre assegnate alle relative bande, ad esempio WM_CHARTOITEM, WM_COMMANDe altri.