Informazioni sui controlli Rebar
Un controllo Rebar funge da contenitore per le finestre figlio. Può contenere una o più bande e ogni banda può avere qualsiasi combinazione di una barra gripper, una bitmap, un'etichetta di testo e una finestra figlio. Un'applicazione assegna una finestra figlio, in genere un altro controllo, a una banda di controllo rebar. Quando si riposiziona dinamicamente una banda di controllo della barra di rebar, il controllo rebar gestisce le dimensioni e la posizione della finestra figlio assegnata a tale banda. Inoltre, un'applicazione può specificare una bitmap di sfondo per una banda e il controllo rebar visualizzerà la finestra figlio della banda sulla bitmap.
La schermata seguente mostra un controllo rebar con due bande. Una contiene una barra degli strumenti e l'altra contiene una casella combinata. Entrambe le bande hanno un gripper che consente di spostarli e ridimensionarli.
Nota
Il controllo rebar viene implementato nella versione 4.70 e successive di Comctl32.dll.
Bande rebar e finestre figlio
Un'applicazione definisce i tratti di una banda rebar usando i messaggi RB_INedizione Standard RTBAND e RB_edizione Standard TBANDINFO. 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 le dimensioni della struttura, in byte. Impostare quindi il membro fMask per indicare i membri della struttura compilati dall'applicazione.
Per assegnare una finestra figlio a una banda, includere il flag RBBIM_CHILD nel membro fMask della struttura REBARBANDINFO e quindi impostare il membro hwndChild sull'handle della finestra figlio. Le applicazioni possono impostare la larghezza e l'altezza minime consentite 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 relative bande, rimuovere le bande inviando il messaggio RB_DELETEBAND e quindi usare il messaggio RB_edizione Standard TPARENT per reimpostare l'elemento padre in un'altra finestra prima di eliminare il controllo rebar.
Interfaccia utente del 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, fare clic e trascinare la barra del gripper 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_edizione Standard TBARINFO prima di aggiungere bande al controllo. Questo messaggio accetta l'indirizzo di una struttura REBARINFO come parametro lParam. Prima di inviare il messaggio, preparare la struttura REBARINFO impostando il membro cbSize sulle dimensioni della struttura, in byte. Quindi, se il controllo rebar visualizzerà immagini sulle bande, impostare il membro fMask sul flag RBIM_IMAGELIST e assegnare un handle di elenco immagini al membro himl . Se la barra di ripristino non userà immagini band, impostare fMask su zero.
Rebar Control Message Forwarding
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_COMMAND e altri.