CBitmapButton

Utilice la clase CBitmapButton para crear controles botón etiquetados con imágenes de mapa de bits en lugar de texto. CBitmapButton objetos contienen hasta cuatro mapas de bits, que contienen imágenes de los diferentes Estados de un botón puede asumir: arriba (o normal), abajo (seleccionado) o centrado y deshabilitado. Sólo el mapa de bits primero es necesario; los otros son opcionales.

Imágenes de mapa de bits-botón incluyen el borde alrededor de la imagen, así como la propia imagen. La frontera normalmente desempeña un papel en el que muestra el estado del botón. Por ejemplo, el mapa de bits para el estado centrado generalmente es como el uno para el Estado pero con un margen de rectángulo de guiones de la frontera o una gruesa línea sólida en la frontera. El mapa de bits para las personas con discapacidad del Estado normalmente recuerda el uno para el Estado pero tiene menor contraste (como una selección de menú atenuadas o gris).

Estos mapas de bits pueden ser de cualquier tamaño, pero todos son tratados como si fueran del mismo tamaño que el mapa de bits para el Estado.

Varias aplicaciones requieren diferentes combinaciones de imágenes de mapa de bits:

Arriba Abajo Centrado Discapacitados Aplicación
× Mapa de bits
× × Botón sin estilo WS_TABSTOP
× × × × Botón de diálogo con todos los Estados
× × × Botón de diálogo con estilo WS_TABSTOP

Cuando se crea un control de botón de mapa de bits, definir el estilo de BS_OW&NERDRAW para especificar que el botón es propietario-drawn.nbsp; Esto hace que Windows enviar los mensajes WM_MEASUREITEM y WM_DRAWITEM para el botón; el marco maneja estos mensajes y gestiona la apariencia del botón para usted.

Para crear un control de botón de mapa de bits en el área de cliente de una ventana, siga estos pasos:

  1. Crear imágenes de mapa de bits de uno a cuatro para el botón.

  2. Construir el objeto CBitmapButton.

  3. Llame a la función Create para crear el control de botón de Windows y adjuntarlo al objeto CBitmapButton.

  4. Llame a la función de miembro de LoadBitmaps para cargar los recursos de mapa de bits después de que el botón de mapa de bits se construye.

Para incluir un control de botón de mapa de bits en un cuadro de diálogo, siga estos pasos:

  1. Crear imágenes de mapa de bits de uno a cuatro para el botón.

  2. Crear una plantilla de cuadro de diálogo con un botón dibujado por el propietario colocado donde desea que el botón de mapa de bits. No importa el tamaño del botón en la plantilla.

  3. Definir el título del botón a un valor como "MYIMAGE" y un símbolo de botón como IDC_MYIMAGE.

  4. En comandos de la aplicación recursos, dar cada una de las imágenes creadas para el botón un ID construido añadiendo una de las letras "U", "D," "F" o "X" (para arriba, abajo, centrado y desactivada) a la cadena utilizada para el título del botón en el paso 3. Para el título del botón "MYIMAGE", por ejemplo, el ID sería "MYIMAGEU", "MYIMAGED", "MYIMAGEF" y "MYIMAGEX." Se debe especificar el identificador de los mapas de bits dentro de comillas dobles. De lo contrario el editor de recursos asignará a un entero al recurso y MFC se producirá un error al cargar la imagen.

  5. En clase de diálogo de la aplicación (derivado CDialog), agregue un objeto miembro de CBitmapButton.

  6. En la rutina de OnInitDialog del objeto CDialog , llamada la CBitmapButton función del objeto AutoLoad , utilizando como parámetros control ID del botón y puntero del objeto CDialog this.

Si desea controlar los mensajes de notificación de Windows, tales como BN_CLICKED, enviado por un control de botón de mapa de bits a su padre (normalmente una clase derivada de CDialog), añadir a la CDialog-derivados de la función de miembro de objeto de un mapa de mensajes entrada y controlador de mensajes para cada mensaje. Las notificaciones enviadas por un objeto CBitmapButton son los mismos que los enviados por un objeto de CButton.

La clase CToolBar adopta un enfoque diferente a los botones de mapa de bits.

Para obtener más información sobre CBitmapButton, consulte Temas de Control en la Guía del programador de Visual C++.

# include lt;afxext.h>

Miembros de la clase |nbsp; Clase base | Diagrama de jerarquía

Muestra  Ejemplo de MFC CTRLTEST

Index