Condividi tramite


messaggio TB_edizione Standard TIMAGELIST

Imposta l'elenco di immagini utilizzato dalla barra degli strumenti per visualizzare i pulsanti nello stato predefinito.

Parametri

wParam

Versione 5.80. Indice dell'elenco. Se si usa un solo elenco di immagini o una versione precedente dei controlli comuni, impostare wParam su zero. Per informazioni dettagliate sull'uso di più elenchi di immagini, vedere La sezione Osservazioni.

lParam

Handle per l'elenco di immagini da impostare. Se questo parametro è NULL, nei pulsanti non vengono visualizzate immagini.

Valore restituito

Restituisce l'handle all'elenco di immagini usato in precedenza per visualizzare i pulsanti nello stato predefinito oppure NULL se in precedenza non è stato impostato alcun elenco di immagini.

Osservazioni:

Nota

L'applicazione è responsabile della liberazione dell'elenco di immagini dopo che la barra degli strumenti è stata eliminata definitivamente.

Impossibile combinare il messaggio TB_edizione Standard TIMAGELIST con TB_ADDBITMAP. Non può essere usato anche con le barre degli strumenti create con CreateToolbarEx, che chiama TB_ADDBITMAP internamente. Quando si crea una barra degli strumenti con CreateToolbarEx o si usa TB_ADDBITMAP per aggiungere immagini, la barra degli strumenti gestisce internamente l'elenco di immagini. Il tentativo di modificarlo con TB_edizione Standard TIMAGELIST ha conseguenze imprevedibili.

Con la versione 5.80 o successiva dei controlli comuni, le immagini dei pulsanti non devono provenire dallo stesso elenco di immagini. Per usare più elenchi di immagini per le immagini dei pulsanti della barra degli strumenti:

  1. Abilitare più elenchi di immagini inviando il controllo della barra degli strumenti a un messaggio CCM_edizione Standard TVERSION con wParam (il numero di versione) impostato su 5.
  2. Per ogni elenco di immagini da usare, inviare il controllo barra degli strumenti a un messaggio TB_edizione Standard TIMAGELIST. Impostare wParam su un valore wParam definito dall'applicazione che verrà usato per identificare l'elenco. Impostare lParam sull'handle HIMAGELIST dell'elenco.
  3. Per ogni pulsante, impostare il membro iBitmap della struttura TBBUTTON del pulsante su MAKELONG(iIndex, iImageID). Il valore iImageID è l'ID dell'elenco di immagini appropriato definito nel passaggio 2. Il valore iIndex è l'indice dell'immagine specifica all'interno di tale elenco.
  4. Aggiungere i pulsanti inviando il controllo barra degli strumenti a un messaggio TB_ADDBUTTONS.

Il frammento di codice seguente illustra come aggiungere cinque pulsanti a una barra degli strumenti, con immagini di tre diversi elenchi di immagini. Il supporto per più elenchi di immagini è abilitato con un messaggio CCM_edizione Standard TVERSION. Gli elenchi di immagini vengono quindi impostati e assegnati ID pari a 0-2. I pulsanti sono immagini assegnate dagli elenchi di immagini come indicato di seguito:

  • Il pulsante 0 proviene dall'elenco di immagini zero (ahim[0]) con indice pari a 1.
  • Il pulsante 1 proviene dall'elenco di immagini 1 (ahim[1]) con un indice pari a 1.
  • Il pulsante 2 proviene dall'elenco di immagini 2 (ahim[2]) con un indice pari a 1.
  • Il pulsante 3 proviene dall'elenco di immagini zero (ahim[0]) con un indice pari a 2.
  • Il pulsante 4 proviene dall'elenco di immagini 1 (ahim[1]) con un indice pari a 3.

Infine, i pulsanti vengono aggiunti al controllo barra degli strumenti con un messaggio TB_ADDBUTTONS.

//Enable multiple image lists
    SendMessage(hwndTB, CCM_SETVERSION, (WPARAM) 5, 0); 

    //Set the image lists and assign them IDs of 0-2
    SendMessage(hwndTB, TB_SETIMAGELIST, 0, (LPARAM)ahiml[0]);
    SendMessage(hwndTB, TB_SETIMAGELIST, 1, (LPARAM)ahiml[1]);
    SendMessage(hwndTB, TB_SETIMAGELIST, 2, (LPARAM)ahiml[2]);

    // Create the five buttons
    TBBUTTON rgtb[5];
    
    //... initialize the TBBUTTON structures as usual ...
    
    //Assign images to each button
    rgtb[0].iBitmap = MAKELONG(1, 0);
    rgtb[1].iBitmap = MAKELONG(1, 1);
    rgtb[2].iBitmap = MAKELONG(1, 2);
    rgtb[3].iBitmap = MAKELONG(2, 0);
    rgtb[4].iBitmap = MAKELONG(3, 1);

    // Add the five buttons to the toolbar control
    SendMessage(hwndTB, TB_ADDBUTTONS, 5, (LPARAM)(&rgtb);

Requisiti

Requisito Valore
Client minimo supportato
Windows Vista [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Intestazione
Commctrl.h

Vedi anche

MAKELONG