Clase CMFCButton

La clase CMFCButton agrega funcionalidad a la clase CButton tal como alinear el texto del botón, combinar el texto del botón y una imagen, seleccionar un cursor y especificar una información sobre herramientas.

Sintaxis

class CMFCButton : public CButton

Miembros

Constructores públicos

Nombre Descripción
CMFCButton::CMFCButton Constructor predeterminado.
CMFCButton::~CMFCButton Destructor.

Métodos públicos

Nombre Descripción
CMFCButton::CleanUp Restablece variables internas y libera recursos asignados como imágenes, mapas de bits e iconos.
CMFCButton::CreateObject Usado por el marco de trabajo para crear una instancia dinámica de este tipo de clase.
CMFCButton::DrawItem El marco lo llama cuando ha cambiado un aspecto visual de un botón dibujado por el propietario. (Invalida CButton::DrawItem).
CMFCButton::EnableFullTextTooltip Especifica si se va a mostrar el texto completo de la información sobre herramientas en una ventana de información sobre herramientas grande o una versión truncada del texto en una pequeña ventana de herramientas.
CMFCButton::EnableMenuFont Especifica si la fuente de texto del botón es la misma que la fuente del menú de la aplicación.
CMFCButton::EnableWindowsTheming Especifica si el estilo del borde del botón corresponde al tema actual de Windows.
CMFCButton::GetThisClass El marco de trabajo usa este elemento para obtener un puntero al objeto CRuntimeClass asociado a este tipo de clase.
CMFCButton::GetToolTipCtrl Devuelve una referencia al control de herramientas subyacente.
CMFCButton::IsAutoCheck Indica si una casilla o un botón de radio es un botón automático.
CMFCButton::IsAutorepeatCommandMode Indica si un botón está establecido en modo de repetición automática.
CMFCButton::IsCheckBox Indica si un botón es un botón de casilla.
CMFCButton::IsChecked Indica si el botón actual está activado o no.
CMFCButton::IsHighlighted Indica si un botón está resaltado.
CMFCButton::IsPressed Indica si se presiona y resalta un botón.
CMFCButton::IsPushed Indica si se presiona un botón.
CMFCButton::IsRadioButton Indica si un botón es un botón de radio.
CMFCButton::IsWindowsThemingEnabled Especifica si el estilo del borde del botón corresponde al tema actual de Windows.
CMFCButton::OnDrawParentBackground Dibuja el fondo del elemento primario de un botón en el área especificada. (Invalida AFX_GLOBAL_DATA::DrawParentBackground)
CMFCButton::PreTranslateMessage Traslada los mensajes de la ventana antes de enviarlos a las funciones de Windows TranslateMessage y DispatchMessage. (Invalida CWnd::PreTranslateMessage).
CMFCButton::SetAutorepeatMode Establece un botón en modo de repetición automática.
CMFCButton::SetCheckedImage Establece la imagen de un botón activado.
CMFCButton::SetFaceColor Establece el color de fondo del texto del botón.
CMFCButton::SetImage Establece la imagen de un botón.
CMFCButton::SetMouseCursor Establece la imagen del cursor.
CMFCButton::SetMouseCursorHand Establece el cursor en la imagen de una mano.
CMFCButton::SetStdImage Usa un objeto CMenuImages para establecer la imagen del botón.
CMFCButton::SetTextColor Establece el color del texto del botón para un botón que no está seleccionado.
CMFCButton::SetTextHotColor Establece el color del texto del botón para un botón que está seleccionado.
CMFCButton::SetTooltip Asocia una información sobre herramientas con un botón.
CMFCButton::SizeToContent Cambia el tamaño de un botón para contener su imagen y texto de botón.

Métodos protegidos

Nombre Descripción
CMFCButton::OnDraw Lo llama el marco para dibujar un botón.
CMFCButton::OnDrawBorder Lo llama el marco para dibujar el borde de un botón.
CMFCButton::OnDrawFocusRect Lo llama el marco para dibujar el rectángulo de enfoque de un botón.
CMFCButton::OnDrawText Lo llama el marco para dibujar el texto del botón.
CMFCButton::OnFillBackground Lo llama el marco para dibujar el fondo del texto del botón.
CMFCButton::SelectFont Recupera la fuente asociada con el contexto del dispositivo especificado.

Miembros de datos

Nombre Descripción
CMFCButton::m_nAlignStyle Especifica la alineación del texto del botón.
CMFCButton::m_bDontUseWinXPTheme Especifica si se deben usar temas de Windows XP.
CMFCButton::m_bDrawFocus Indica si se debe dibujar un rectángulo de enfoque alrededor de un botón.
CMFCButton::m_nFlatStyle Especifica el estilo del botón, como sin bordes, plano, semiplano o 3D.
CMFCButton::m_bGrayDisabled Cuando es TRUE, habilita dibujar un botón deshabilitado como atenuado.
CMFCButton::m_bHighlightChecked Indica si se debe resaltar un botón de estilo BS_CHECKBOX cuando el cursor pasa sobre él.
CMFCButton::m_bResponseOnButtonDown Indica si se debe responder a eventos de botón presionado.
CMFCButton::m_bRightImage Indica si se va a mostrar una imagen en el lado derecho del botón.
CMFCButton::m_bTopImage Indica si la imagen está encima del botón.
CMFCButton::m_bTransparent Indica si el botón está transparente.
CMFCButton::m_bWasDblClk Indica si el último evento de clic era un doble clic.

Comentarios

Otros tipos de botones se derivan de la clase CMFCButton, como la clase CMFCURLLinkButton, que admite hipervínculos y la clase CMFCColorButton, que admite un cuadro de diálogo selector de colores.

El estilo de un objeto CMFCButton puede ser 3D, flat, semi-flat o no border. El texto del botón se puede alinear a la izquierda, en la parte superior o en el centro de un botón. En tiempo de ejecución, puede controlar si el botón muestra texto, una imagen o texto y una imagen. También puede especificar que se muestre una imagen de cursor determinada cuando el cursor pasa sobre un botón.

Cree un control de botón ya sea directamente en el código o mediante la herramienta Asistente para clases MFC y una plantilla del cuadro de diálogo. Si crea un control de botón directamente, agregue una variable CMFCButton a la aplicación y después llame al constructor y a los métodos Create del objeto CMFCButton. Si usa el Asistente para clases MFC, agregue una variable CButton a su aplicación y después cambie el tipo de la variable de CButton a CMFCButton.

Para controlar los mensajes de notificación en una aplicación de cuadro de diálogo, agregue una entrada de asignación de mensajes y un controlador de eventos por cada notificación. Las notificaciones enviadas por un objeto CMFCButton son las mismas que las enviadas por un objeto CButton.

Ejemplo

En el ejemplo siguiente se muestra cómo configurar las propiedades del botón mediante varios métodos de la clase CMFCButton. El ejemplo forma parte del ejemplo de controles nuevos.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}
// int m_iImage
if (m_iImage == 0)
{
   m_Button.SetWindowText(_T(""));
}
else
{
   m_Button.SetWindowText(_T("Button"));
}
// Resize the button.
m_Button.SizeToContent();
m_Button.EnableFullTextTooltip(true);
// Use the application menu font at the button text font.
m_Button.EnableMenuFont();
// Use the current Windows theme to draw the button borders.
m_Button.EnableWindowsTheming(true);
// Set the button to auto-repeat mode.
m_Button.SetAutorepeatMode();
// Set the background color for the button text.
m_Button.SetFaceColor(RGB(255,0,0),true);
m_Button.SetTextColor(RGB(0,0,255));
// Set the tooltip of the button.
m_Button.SetTooltip(_T("this is a button!"));

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Requisitos

Encabezadoafxbutton.h:

CMFCButton::CleanUp

Restablece variables internas y libera recursos asignados como imágenes, mapas de bits e iconos.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Especifica si se va a mostrar el texto completo de la información sobre herramientas en una ventana de información sobre herramientas grande o una versión truncada del texto en una pequeña ventana de herramientas.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parámetros

bOn
[in] TRUE para mostrar todo el texto; FALSE para mostrar texto truncado.

Comentarios

CMFCButton::EnableMenuFont

Especifica si la fuente de texto del botón es la misma que la fuente del menú de la aplicación.

void EnableMenuFont(
    BOOL bOn=TRUE,
    BOOL bRedraw=TRUE);

Parámetros

bOn
[in] TRUE para usar la fuente del menú de la aplicación como fuente de texto del botón; FALSE para usar la fuente del sistema. El valor predeterminado es TRUE.

bRedraw
[in] TRUE para volver a dibujar inmediatamente la pantalla; de lo contrario, FALSE. El valor predeterminado es TRUE.

Comentarios

Si no usa este método para especificar la fuente de texto del botón, puede especificar la fuente con el método CWnd::SetFont. Si no especifica una fuente en absoluto, el marco establece una fuente predeterminada.

CMFCButton::EnableWindowsTheming

Especifica si el estilo del borde del botón corresponde al tema actual de Windows.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parámetros

bEnable
[in] TRUE para usar el tema actual de Windows para dibujar bordes de botón; FALSE para no usar el tema de Windows. El valor predeterminado es TRUE.

Comentarios

Este método afecta todos los botones de la aplicación que se derivan de la clase CMFCButton.

CMFCButton::GetToolTipCtrl

Devuelve una referencia al control de herramientas subyacente.

CToolTipCtrl& GetToolTipCtrl();

Valor devuelto

Una referencia al control de información de herramientas subyacente.

Comentarios

CMFCButton::IsAutoCheck

Indica si una casilla o un botón de radio es un botón automático.

BOOL IsAutoCheck() const;

Valor devuelto

TRUE si el botón tiene estilo BS_AUTOCHECKBOX o BS_AUTORADIOBUTTON; de lo contrario, FALSE.

Comentarios

CMFCButton::IsAutorepeatCommandMode

Indica si un botón está establecido en modo de repetición automática.

BOOL IsAutorepeatCommandMode() const;

Valor devuelto

TRUE si el botón está establecido en modo de repetición automática; de lo contrario, FALSE.

Comentarios

Use el método CMFCButton::SetAutorepeatMode para establecer un botón en el modo de repetición automática.

CMFCButton::IsCheckBox

Indica si un botón es un botón de casilla.

BOOL IsCheckBox() const;

Valor devuelto

TRUE si el botón tiene un estilo BS_CHECKBOX o BS_AUTOCHECKBOX; de lo contrario, FALSE.

Comentarios

CMFCButton::IsChecked

Indica si el botón actual está activado o no.

BOOL IsChecked() const;

Valor devuelto

TRUE si el botón actual está activado; de lo contrario, FALSE.

Comentarios

El marco usa diferentes maneras de indicar que se activan distintos tipos de botones. Por ejemplo, un botón de radio está activo cuando contiene un punto; una casilla está activa cuando contiene X.

CMFCButton::IsHighlighted

Indica si un botón está resaltado.

BOOL IsHighlighted() const;

Valor devuelto

TRUE si el botón está resaltado; de lo contrario, FALSE.

Comentarios

Un botón se resalta cuando el mouse pasa sobre el botón.

CMFCButton::IsPressed

Indica si se presiona y resalta un botón.

BOOL IsPressed() const;

Valor devuelto

TRUE si el botón está presionado; de lo contrario, FALSE.

Comentarios

CMFCButton::IsPushed

Indica si se presiona un botón.

BOOL IsPushed() const;

Valor devuelto

TRUE si el botón está presionado; de lo contrario, FALSE.

Comentarios

CMFCButton::IsRadioButton

Indica si un botón es un botón de radio.

BOOL IsRadioButton() const;

Valor devuelto

TRUE si el estilo del botón es BS_RADIOBUTTON o BS_AUTORADIOBUTTON; de lo contrario, FALSE.

Comentarios

CMFCButton::IsWindowsThemingEnabled

Especifica si el estilo del borde del botón corresponde al tema actual de Windows.

static BOOL IsWindowsThemingEnabled();

Valor devuelto

TRUE si el estilo del borde del botón corresponde al tema actual de Windows; de lo contrario, FALSE.

CMFCButton::m_bDontUseWinXPTheme

Especifica si se deben usar temas de Windows XP al dibujar el botón.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Indica si se debe dibujar un rectángulo de enfoque alrededor de un botón.

BOOL m_bDrawFocus;

Comentarios

Establezca el miembro m_bDrawFocus en TRUE para especificar que el marco dibujará un rectángulo de enfoque alrededor del texto y la imagen del botón si el botón recibe el enfoque.

El constructor CMFCButton inicializa este miembro en TRUE.

CMFCButton::m_bGrayDisabled

Cuando es TRUE, habilita dibujar un botón deshabilitado como atenuado.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Indica si se debe resaltar un botón de estilo BS_CHECKBOX cuando el cursor pasa sobre él.

BOOL m_bHighlightChecked;

Comentarios

Establezca el miembro m_bHighlightChecked en TRUE para especificar que el marco resaltará un botón BS_CHECKBOX cuando el mouse pasa sobre él.

CMFCButton::m_bResponseOnButtonDown

Indica si se debe responder a eventos de botón presionado.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Indica si se va a mostrar una imagen en el lado derecho del botón.

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Indica si la imagen está encima del botón.

BOOL m_bTopImage;

Comentarios

Establezca el miembro m_bRightImage en TRUE para especificar que el marco mostrará la imagen del botón a la derecha de la etiqueta de texto del botón.

CMFCButton::m_bTransparent

Indica si el botón está transparente.

BOOL m_bTransparent;

Comentarios

Establezca el miembro m_bTransparent en TRUE para especificar que el marco hará que el botón sea transparente. El constructor CMFCButton inicializa este miembro en FALSE.

CMFCButton::m_nAlignStyle

Especifica la alineación del texto del botón.

AlignStyle m_nAlignStyle;

Comentarios

Use uno de los siguientes valores de enumeración CMFCButton::AlignStyle para especificar la alineación del texto del botón:

Valor Descripción
ALIGN_CENTER (Valor predeterminado) Alinea el texto del botón con el centro del botón.
ALIGN_LEFT Alinea el texto del botón al lado izquierdo del botón.
ALIGN_RIGHT Alinea el texto del botón al lado derecho del botón.

El constructor CMFCButton inicializa este miembro en ALIGN_CENTER.

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Indica si el último evento de clic era un doble clic.

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Especifica el estilo del botón, como sin bordes, plano, semiplano o 3D.

FlatStyle  m_nFlatStyle;

Comentarios

En la tabla siguiente se enumeran los valores de enumeración CMFCButton::m_nFlatStyle que especifican la apariencia de un botón.

Valor Descripción
BUTTONSTYLE_3D (Valor predeterminado) El botón parece tener lados tridimensionales altos. Cuando se hace clic en el botón, el botón parece presionarse en una sangría profunda.
BUTTONSTYLE_FLAT Cuando el mouse no se detiene sobre el botón, el botón parece ser bidimensional y no tiene lados elevados. Cuando el mouse se pausa sobre el botón, el botón parece tener lados tridimensionales bajos. Cuando se hace clic en el botón, el botón parece presionarse en una sangría superficial.
BUTTONSTYLE_SEMIFLAT El botón parece tener lados tridimensionales bajos. Cuando se hace clic en el botón, el botón parece presionarse en una sangría profunda.
BUTTONSTYLE_NOBORDERS El botón no tiene lados elevados y siempre aparece bidimensional. El botón no parece presionarse en una sangría cuando se hace clic en él.

El constructor CMFCButton inicializa este miembro en BUTTONSTYLE_3D.

Ejemplo

En el ejemplo siguiente se muestra cómo establecer los valores de la variable de miembro m_nFlatStyle en la clase CMFCButton. Este ejemplo forma parte del ejemplo de controles nuevos.

CMFCButton m_Button;
//int m_iBorderStyle
switch (m_iBorderStyle)
{
case 0:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
   break;

case 1:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_SEMIFLAT;
   break;

case 2:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_3D;
}

CMFCButton::OnDraw

Lo llama el marco para dibujar un botón.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Una referencia a un rectángulo que limita el botón.

uiState
[in] El estado actual del botón. Para obtener más información, consulte el miembro itemState del tema DRAWITEMSTRUCTEstructura.

Comentarios

Invalide este método para usar su propio código para dibujar un botón.

CMFCButton::OnDrawBorder

Lo llama el marco para dibujar el borde de un botón.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rectClient
[in] Una referencia a un rectángulo que limita el botón.

uiState
[in] El estado actual del botón. Para obtener más información, consulte el miembro itemState del tema DRAWITEMSTRUCTEstructura.

Comentarios

Invalide este método para usar su propio código para dibujar un borde.

CMFCButton::OnDrawFocusRect

Lo llama el marco para dibujar el rectángulo de enfoque de un botón.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rectClient
[in] Una referencia a un rectángulo que limita el botón.

Comentarios

Invalide este método para usar su propio código para dibujar un rectángulo de enfoque.

CMFCButton::OnDrawText

Lo llama el marco para dibujar el texto del botón.

virtual void OnDrawText(
    CDC* pDC,
    const CRect& rect,
    const CString& strText,
    UINT uiDTFlags,
    UINT uiState);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Una referencia a un rectángulo que limita el botón.

strText
[in] El texto que se va a dibujar.

uiDTFlags
[in] Marcas que especifican cómo dar formato al texto. Para obtener más información, consulte el parámetro nFormat del método CDC::DrawText.

uiState
[in] Reservado.

Comentarios

Invalide este método para usar su propio código para dibujar el texto del botón.

CMFCButton::OnFillBackground

Lo llama el marco para dibujar el fondo del texto del botón.

virtual void OnFillBackground(
    CDC* pDC,
    const CRect& rectClient);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rectClient
[in] Una referencia a un rectángulo que limita el botón.

Comentarios

Invalide este método para usar su propio código para dibujar el fondo de un botón.

CMFCButton::SelectFont

Recupera la fuente asociada con el contexto del dispositivo especificado.

virtual CFont* SelectFont(CDC* pDC);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

Valor devuelto

Invalide este método para usar su propio código para recuperar la fuente.

Comentarios

CMFCButton::SetAutorepeatMode

Establece un botón en modo de repetición automática.

void SetAutorepeatMode(int nTimeDelay=500);

Parámetros

nTimeDelay
[in] Número no negativo que especifica el intervalo entre los mensajes que se envían a la ventana primaria. El intervalo se mide en milisegundos y su valor predeterminado es de 500 milisegundos. Especifique cero para deshabilitar el modo de mensajes de repetición automática.

Comentarios

Este método ocasiona que el botón envíe mensajes de WM_COMMAND constantemente a la ventana primaria hasta que se libere el botón o el parámetro nTimeDelay se establezca en cero.

CMFCButton::SetCheckedImage

Establece la imagen de un botón activado.

void SetCheckedImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetCheckedImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetCheckedImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Parámetros

hIcon
[in] Manipulador para el icono que contiene el mapa de bits y la máscara de la nueva imagen.

bAutoDestroy
[in] TRUE para especificar que los recursos de mapa de bits se destruyan automáticamente; de lo contrario, FALSE. El valor predeterminado es TRUE.

hIconHot
[in] Manipulador del icono que contiene la imagen del estado seleccionado.

hBitmap
[in] Manipulador del mapa de bits que contiene la imagen del estado no seleccionado.

hBitmapHot
[in] Manipulador del mapa de bits que contiene la imagen del estado seleccionado.

bMap3dColors
[in] Especifica un color transparente para el fondo del botón; es decir, la cara del botón. TRUE para utilizar el valor de color RGB (192, 192, 192); FALSE para usar el valor de color definido por AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] Id. de recurso de la imagen no seleccionada.

uiBmpHotResId
[in] Id. de recurso de la imagen seleccionada.

hIconDisabled
[in] Manipulador del icono de la imagen deshabilitada.

hBitmapDisabled
[in] Manipulador del mapa de bits que contiene la imagen deshabilitada.

uiBmpDsblResID
[in] Id. de recurso del mapa de bits deshabilitado.

bAlphaBlend
[in] TRUE para usar solo imágenes de 32 bits que usan el canal alfa; FALSE, para no usar solo imágenes de canal alfa. El valor predeterminado es FALSE.

Comentarios

CMFCButton::SetFaceColor

Establece el color de fondo del texto del botón.

void SetFaceColor(
    COLORREF crFace,
    BOOL bRedraw=TRUE);

Parámetros

crFace
[in] Valor de color RGB.

bRedraw
[in] TRUE para volver a dibujar la pantalla inmediatamente; de lo contrario, FALSE.

Comentarios

Use este método para definir un nuevo color de relleno para el fondo del botón (cara). Tenga en cuenta que el fondo no se rellena cuando la variable miembro CMFCButton::m_bTransparent es TRUE.

CMFCButton::SetImage

Establece la imagen de un botón.

void SetImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Parámetros

hIcon
[in] Manipulador para el icono que contiene el mapa de bits y la máscara de la nueva imagen.

bAutoDestroy
[in] TRUE para especificar que los recursos de mapa de bits se destruyan automáticamente; de lo contrario, FALSE. El valor predeterminado es TRUE.

hIconHot
[in] Manipulador del icono que contiene la imagen del estado seleccionado.

hBitmap
[in] Manipulador del mapa de bits que contiene la imagen del estado no seleccionado.

hBitmapHot
[in] Manipulador del mapa de bits que contiene la imagen del estado seleccionado.

uiBmpResId
[in] Id. de recurso de la imagen no seleccionada.

uiBmpHotResId
[in] Id. de recurso de la imagen seleccionada.

bMap3dColors
[in] Especifica un color transparente para el fondo del botón; es decir, la cara del botón. TRUE para utilizar el valor de color RGB (192, 192, 192); FALSE para usar el valor de color definido por AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Manipulador del icono de la imagen deshabilitada.

hBitmapDisabled
[in] Manipulador del mapa de bits que contiene la imagen deshabilitada.

uiBmpDsblResID
[in] Id. de recurso del mapa de bits deshabilitado.

bAlphaBlend
[in] TRUE para usar solo imágenes de 32 bits que usan el canal alfa; FALSE, para no usar solo imágenes de canal alfa. El valor predeterminado es FALSE.

Comentarios

Ejemplo

En el ejemplo siguiente, se muestra cómo se usan varias versiones del método SetImage de la clase CMFCButton. El ejemplo forma parte del ejemplo de controles nuevos.

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}

CMFCButton::SetMouseCursor

Establece la imagen del cursor.

void SetMouseCursor(HCURSOR hcursor);

Parámetros

hcursor
[in] El manipulador de un cursor.

Comentarios

Use este método para asociar una imagen de cursor, como el cursor de mano, con el botón. El cursor se carga desde los recursos de la aplicación.

Ejemplo

El siguiente ejemplo muestra cómo se usa el método SetMouseCursor de la clase CMFCButton. El ejemplo forma parte del código en una muestra de controles nuevos.

CMFCButton m_Button;
// int m_iCursor
void CPage1::OnSetCursor()
{
   UpdateData();

   switch (m_iCursor)
   {
   case 0:
      m_Button.SetMouseCursor(NULL);
      break;

   case 1:
      m_Button.SetMouseCursorHand();
      break;

   case 2:
      m_Button.SetMouseCursor(AfxGetApp()->LoadCursor(IDC_CURSOR));
      break;
   }
}

CMFCButton::SetMouseCursorHand

Establece el cursor en la imagen de una mano.

void SetMouseCursorHand();

Comentarios

Utilice este método para asociar la imagen del cursor de una mano con el botón. El cursor se carga desde los recursos de la aplicación.

CMFCButton::SetStdImage

Usa un objeto CMenuImages para establecer la imagen del botón.

void SetStdImage(
    CMenuImages::IMAGES_IDS id,
    CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
    CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);

Parámetros

id
[in] Uno de los identificadores de imagen de botón que se define en la enumeración CMenuImage::IMAGES_IDS. Los valores de imagen especifican imágenes como flechas, anclajes y botones de radio.

state
[in] Uno de los identificadores de estado de imagen del botón que se define en la enumeración CMenuImages::IMAGE_STATE. Los estados de la imagen especifican colores de botón como negro, gris, gris claro, blanco y gris oscuro. El valor predeterminado es CMenuImages::ImageBlack.

idDisabled
[in] Uno de los identificadores de imagen de botón que se define en la enumeración CMenuImage::IMAGES_IDS. La imagen indica que el botón está deshabilitado. El valor predeterminado es la primera imagen de botón (CMenuImages::IdArrowDown).

Comentarios

CMFCButton::SetTextColor

Establece el color del texto del botón para un botón que no está seleccionado.

void SetTextColor(COLORREF clrText);

Parámetros

clrText
[in] Valor de color RGB.

Comentarios

CMFCButton::SetTextHotColor

Establece el color del texto del botón para un botón que está seleccionado.

void SetTextHotColor(COLORREF clrTextHot);

Parámetros

clrTextHot
[in] Valor de color RGB.

Comentarios

CMFCButton::SetTooltip

Asocia una información sobre herramientas con un botón.

void SetTooltip(LPCTSTR lpszToolTipText);

Parámetros

lpszToolTipText
[in] Puntero que apunta al texto de la información sobre herramientas. Especifique NULL para deshabilitar la información sobre herramientas.

Comentarios

CMFCButton::SizeToContent

Cambia el tamaño de un botón para contener su imagen y texto de botón.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parámetros

bCalcOnly
[in] TRUE para calcular, pero no cambiar, el nuevo tamaño del botón; FALSE para cambiar el tamaño del botón. El valor predeterminado es FALSE.

Valor devuelto

Un objeto CSize que contiene el nuevo tamaño del botón.

Comentarios

De forma predeterminada, este método calcula un nuevo tamaño que incluye un margen horizontal de 10 píxeles y un margen vertical de 5 píxeles.

Consulte también

Gráfico de jerarquías
Clases
CMFCLinkCtrl (clase)
CMFCColorButton (clase)
CMFCMenuButton (clase)