mensaje de TB_SETPRESSEDIMAGELIST
Establece la lista de imágenes que usa la barra de herramientas para mostrar botones que están en estado presionado.
Parámetros
-
wParam
-
Índice de la lista de imágenes. Si usa solo una lista de imágenes, establezca este parámetro en cero. Vea Comentarios para obtener más información sobre el uso de varias listas de imágenes.
-
lParam
-
Identificador de la lista de imágenes que se va a establecer. Si este parámetro es NULL, no se muestran imágenes en los botones.
Valor devuelto
Devuelve el identificador de la lista de imágenes que se usó anteriormente para mostrar botones en su estado presionado o NULL si no se estableció previamente ninguna lista de imágenes.
Comentarios
Nota:
La aplicación es responsable de liberar la lista de imágenes después de destruir la barra de herramientas.
El mensaje de TB_SETPRESSEDIMAGELIST no se puede combinar con TB_ADDBITMAP. Tampoco se puede usar con barras de herramientas creadas con CreateToolbarEx, que llama a TB_ADDBITMAP internamente. Al crear una barra de herramientas con CreateToolbarEx o usar TB_ADDBITMAP para agregar imágenes, la barra de herramientas administra internamente la lista de imágenes. Intentar modificarlo con TB_SETPRESSEDIMAGELIST tiene consecuencias impredecibles.
Las imágenes de botón no deben proceder de la misma lista de imágenes. Para usar varias listas de imágenes para las imágenes de botón de la barra de herramientas:
- Habilite varias listas de imágenes enviando el control de la barra de herramientas un mensaje de CCM_SETVERSION con wParam (el número de versión) establecido en 5.
- Para cada lista de imágenes que quiera usar, envíe el control de la barra de herramientas a un mensaje de TB_SETPRESSEDIMAGELIST. Establezca wParam en un valor de wParam definido por la aplicación que se usará para identificar la lista. Establezca lParam en el identificador HIMAGELIST de la lista.
- Para cada botón, establezca el miembro iBitmap de la estructuraTBBUTTON botón en MAKELONG(iIndex, iImageID). El valor de iImageID es el identificador de la lista de imágenes adecuada que se definió en el paso dos. El valor de iIndex es el índice de la imagen determinada dentro de esa lista.
- Agregue los botones enviando el control de la barra de herramientas a un mensaje TB_ADDBUTTONS.
El siguiente fragmento de código muestra cómo agregar cinco botones a una barra de herramientas, con imágenes de tres listas de imágenes diferentes. La compatibilidad con varias listas de imágenes está habilitada con un mensaje de CCM_SETVERSION. Las listas de imágenes se establecen y asignan identificadores de 0 a 2. A los botones se les asignan imágenes de las listas de imágenes de la siguiente manera:
- El botón 0 procede de la lista de imágenes cero (ahim[0]) con el índice 1.
- El botón 1 procede de la lista de imágenes uno (ahim[1]) con un índice de 1.
- El botón 2 procede de la lista de imágenes dos (ahim[2]) con un índice de 1.
- El botón 3 procede de la lista de imágenes cero (ahim[0]) con un índice de 2.
- El botón 4 procede de la lista de imágenes uno (ahim[1]) con un índice de 3.
Por último, los botones se agregan al control de la barra de herramientas con un mensaje de 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_SETPRESSEDIMAGELIST, 0, (LPARAM)ahiml[0]);
SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 1, (LPARAM)ahiml[1]);
SendMessage(hwndTB, TB_SETPRESSEDIMAGELIST, 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);
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado |
|
Consulte también
-
Referencia
-
Otros recursos