Compartir a través de


Usar listas de imágenes en un control de barra de herramientas

De forma predeterminada, las imágenes utilizadas por los botones en un control toolbar se almacenan como un mapa de bits. Sin embargo, también puede almacenar las imágenes de botón en un conjunto de listas de imágenes. El objeto de control toolbar puede utilizar hasta tres listas independientes de la imagen:

  • La imagen habilitado muestra las imágenes Contains para los botones de la barra de herramientas que se permiten actualmente.

  • La imagen deshabilitado muestra las imágenes Contains para los botones de la barra de herramientas que están deshabilitadas.

  • La imagen resaltado muestra las imágenes Contains para los botones de la barra de herramientas que se resaltan actualmente. Se utiliza esta lista de imágenes sólo cuando la barra de herramientas utiliza el estilo de TBSTYLE_FLAT .

Estas listas de imágenes son utilizadas por el control de barra de herramientas cuando se asocian con el objeto de CToolBarCtrl . Creando realiza a esta asociación llamadas a CToolBarCtrl::SetImageList, a SetDisabledImageList, y a SetHotImageList.

De forma predeterminada, MFC usa la clase de CToolBar para implementar las barras de herramientas de la aplicación MFC. Sin embargo, la función miembro de GetToolBarCtrl se puede utilizar para recuperar el objeto incrustado de CToolBarCtrl . Puede hacer llamadas a las funciones miembro de CToolBarCtrl mediante el objeto devuelto.

El ejemplo siguiente muestra esta técnica asignando una imagen habilitado (m_ToolBarImages) y deshabilitado (dem_ToolBarDisabledImages) orden a un objeto de CToolBarCtrl (m_ToolBarCtrl).

CWinApp* pApp= AfxGetApp();

m_ToolBarImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarImages.Add(pApp->LoadIcon(IDI_BLK));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_RED));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_YELL));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_WHI));

m_ToolBarDisabledImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_BLK));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_RED));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_YELL));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_WHI));

m_ToolBarCtrl.SetImageList(&m_ToolBarImages);
m_ToolBarCtrl.SetDisabledImageList(&m_ToolBarDisabledImages);

Nota

Las listas de imágenes utilizadas por el objeto de la barra de herramientas deben ser objetos permanentes.Por esta razón, son normalmente miembros de datos de una clase MFC; en este ejemplo, la clase de ventana de marco principal.

Una vez que las listas de imágenes están asociados al objeto de CToolBarCtrl , el marco muestra automáticamente el botón correspondiente.

Vea también

Referencia

Usar CToolBarCtrl

Conceptos

Controles (MFC)