Compartir a través de


Clase CMFCToolTipCtrl

Implementación extendida de información sobre herramientas basada en CToolTipCtrl Class. Una información sobre herramientas basada en la clase CMFCToolTipCtrl puede mostrar un icono, una etiqueta y una descripción. Puede personalizar su apariencia visual mediante un relleno de degradado, colores de texto y bordes personalizados, texto en negrita, esquinas redondeadas o un estilo de globo.

Para obtener información más detallada, consulta el código fuente que se ubica en la carpeta VC\atlmfc\src\mfc de la instalación de Visual Studio.

Sintaxis

class CMFCToolTipCtrl : public CToolTipCtrl

Miembros

Constructores públicos

Nombre Descripción
CMFCToolTipCtrl::CMFCToolTipCtrl Constructor predeterminado.

Métodos públicos

Nombre Descripción
CMFCToolTipCtrl::GetIconSize Devuelve el tamaño de un icono en una información sobre herramientas.
CMFCToolTipCtrl::GetParams Devuelve la configuración de visualización en una información sobre herramientas.
CMFCToolTipCtrl::OnDrawBorder Dibuja el borde de una información sobre herramientas.
CMFCToolTipCtrl::OnDrawDescription
CMFCToolTipCtrl::OnDrawIcon Muestra un icono en una información sobre herramientas.
CMFCToolTipCtrl::OnDrawLabel Dibuja la etiqueta de una información sobre herramientas o calcula el tamaño de la etiqueta.
CMFCToolTipCtrl::OnDrawSeparator Dibuja el separador entre la etiqueta y la descripción en una información sobre herramientas.
CMFCToolTipCtrl::OnFillBackground Rellena el fondo de la información sobre herramientas.
CMFCToolTipCtrl::SetDescription Establece la descripción que se mostrará en la información sobre herramientas.
CMFCToolTipCtrl::SetFixedWidth
CMFCToolTipCtrl::SetHotRibbonButton
CMFCToolTipCtrl::SetLocation
CMFCToolTipCtrl::SetParams Especifica la apariencia visual de una información sobre herramientas con un objeto CMFCToolTipInfo.

Comentarios

Use objetos CMFCToolTipCtrl, CMFCToolTipInfo y de la clase CTooltipManager de manera conjunta para implementar informaciones sobre herramientas personalizadas en la aplicación.

Por ejemplo, para usar informaciones sobre herramientas con estilo de globo, siga estos pasos:

  1. Use el método de la clase CWinAppEx para inicializar el administrador de informaciones sobre herramientas de la aplicación.

  2. Cree una estructura CMFCToolTipInfo para especificar el estilo visual que desee:

    CMFCToolTipInfo params;
    params.m_bBoldLabel = FALSE;
    params.m_bDrawDescription = FALSE;
    params.m_bDrawIcon = FALSE;
    params.m_bRoundedCorners = TRUE;
    params.m_bDrawSeparator = FALSE;
    if (m_bCustomColors)
    {
        params.m_clrFill = RGB (255, 255, 255);
        params.m_clrFillGradient = RGB (228, 228, 240);
        params.m_clrText = RGB (61, 83, 80);
        params.m_clrBorder = RGB (144, 149, 168);
    
    }
    
  3. Use el método CTooltipManager::SetTooltipParams para establecer el estilo visual de todas las informaciones sobre herramientas de la aplicación con los estilos definidos en el objeto CMFCToolTipInfo:

    theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
        RUNTIME_CLASS (CMFCToolTipCtrl), &params);
    

También puede derivar una clase nueva de CMFCToolTipCtrl para controlar la representación y el comportamiento de la información sobre herramientas. Para especificar una nueva clase de control de información sobre herramientas, use el método CTooltipManager::SetTooltipParams:

myApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    RUNTIME_CLASS (CMyToolTipCtrl))

Para restaurar la clase de control predeterminada de información sobre herramientas y restablecer la apariencia de esta información a su estado predeterminado, especifique NULL en los parámetros de información sobre herramientas y de información de clase en tiempo de ejecución de SetTooltipParams:

theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    NULL,
    NULL);

Ejemplo

En el ejemplo siguiente se muestra cómo construir un objeto CMFCToolTipCtrl, se establece la descripción que se muestra en la información sobre herramientas y se establece también el ancho del control de esta información.

CMFCToolTipInfo *params = new CMFCToolTipInfo();

params->m_bBoldLabel = FALSE;
params->m_bDrawDescription = FALSE;
params->m_bDrawIcon = FALSE;
params->m_bRoundedCorners = TRUE;
params->m_bDrawSeparator = FALSE;
params->m_clrFill = RGB(255, 255, 255);
params->m_clrFillGradient = RGB(228, 228, 240);
params->m_clrText = RGB(61, 83, 80);
params->m_clrBorder = RGB(144, 149, 168);

CMFCToolTipCtrl *tipCtrl = new CMFCToolTipCtrl(params);
tipCtrl->SetDescription(_T("tool tip control"));
tipCtrl->SetFixedWidth(100, 150);

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CToolTipCtrl

CMFCToolTipCtrl

Requisitos

Encabezado: afxtooltipctrl.h

CMFCToolTipCtrl::CMFCToolTipCtrl

CMFCToolTipCtrl(CMFCToolTipInfo* pParams = NULL);

Parámetros

[in] pParams

Comentarios

CMFCToolTipCtrl::GetIconSize

Devuelve el tamaño de un icono en una información sobre herramientas.

virtual CSize GetIconSize();

Valor devuelto

Tamaño del icono, en píxeles.

CMFCToolTipCtrl::GetParams

Devuelve la configuración de visualización en una información sobre herramientas.

const CMFCToolTipInfo& GetParams() const;

Valor devuelto

La configuración actual de visualización de la información sobre herramientas, que se almacena en un objeto CMFCToolTipInfo Class .

CMFCToolTipCtrl::OnDrawBorder

Dibuja el borde de una información sobre herramientas.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect rect,
    COLORREF clrLine);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador de la información sobre herramientas.

clrLine
[in] Color del borde.

Comentarios

Invalide este método en una clase derivada para personalizar la apariencia del borde de la información sobre herramientas.

CMFCToolTipCtrl::OnDrawDescription

virtual CSize OnDrawDescription(
    CDC* pDC,
    CRect rect,
    BOOL bCalcOnly);

Parámetros

[in] pDC
[in] rect
[in] bCalcOnly

Valor devuelto

Comentarios

CMFCToolTipCtrl::OnDrawIcon

Muestra un icono en una información sobre herramientas.

virtual BOOL OnDrawIcon(
    CDC* pDC,
    CRect rectImage);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rectImage
[in] Coordenadas del icono.

Valor devuelto

TRUE si se dibujó el icono. De lo contrario, FALSE.

Comentarios

Invalide este método en una clase derivada para mostrar un icono personalizado. También debe invalidar CMFCToolTipCtrl::GetIconSize para permitir que la información sobre herramientas calcule correctamente el diseño del texto y la descripción.

CMFCToolTipCtrl::OnDrawLabel

Dibuja la etiqueta de una información sobre herramientas o calcula el tamaño de la etiqueta.

virtual CSize OnDrawLabel(
    CDC* pDC,
    CRect rect,
    BOOL bCalcOnly);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Rectángulo delimitador del área de etiqueta.

bCalcOnly
[in] Si es TRUE, no se dibujará la etiqueta.

Valor devuelto

Tamaño de la etiqueta, en píxeles.

Comentarios

Invalide este método en una clase derivada si desea personalizar la apariencia de la etiqueta de la información sobre herramientas.

CMFCToolTipCtrl::OnDrawSeparator

Dibuja el separador entre la etiqueta y la descripción en una información sobre herramientas.

virtual void OnDrawSeparator(
    CDC* pDC,
    int x1,
    int x2,
    int y);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

x1
[in] Coordenada horizontal del extremo izquierdo del separador.

x2
[in] Coordenada horizontal del extremo derecho del separador.

Y
[in] Coordenada vertical del separador.

Comentarios

La implementación predeterminada dibuja una línea desde el punto (x1, y) hasta el punto (x2, y).

Invalide este método en una clase derivada para personalizar la apariencia del separador.

CMFCToolTipCtrl::OnFillBackground

Rellena el fondo de la información sobre herramientas.

virtual void OnFillBackground(
    CDC* pDC,
    CRect rect,
    COLORREF& clrText,
    COLORREF& clrLine);

Parámetros

pDC
[in] Puntero a un contexto de dispositivo.

rect
[in] Especifica el rectángulo delimitador del área que se va a rellenar.

clrText
[in] Color de primer plano de la información sobre herramientas.

clrLine
[in] Color de los bordes y la línea delimitadora entre la etiqueta y la descripción.

Comentarios

La implementación predeterminada rellena el rectángulo que rect especifica con el color o el patrón especificada por la llamada más reciente a CMFCToolTipCtrl::SetParams.

Invalide este método en una clase derivada si desea personalizar la apariencia de la información sobre herramientas.

CMFCToolTipCtrl::SetDescription

Establece la descripción que se mostrará en la información sobre herramientas.

virtual void SetDescription(const CString strDesrciption);

Parámetros

strDesrciption
[in] Texto de descripción.

Comentarios

El texto de descripción se muestra en la información sobre herramientas debajo del separador.

CMFCToolTipCtrl::SetFixedWidth

void SetFixedWidth(
    int nWidthRegular,
    int nWidthLargeImage);

Parámetros

[in] nWidthRegular
[in] nWidthLargeImage

Comentarios

CMFCToolTipCtrl::SetHotRibbonButton

void SetHotRibbonButton(CMFCRibbonButton* pRibbonButton);

Parámetros

[in] pRibbonButton

Comentarios

CMFCToolTipCtrl::SetLocation

void SetLocation(CPoint pt);

Parámetros

[in] pt

Comentarios

CMFCToolTipCtrl::SetParams

Especifica la apariencia visual de una información sobre herramientas mediante un objeto de la clase CMFCToolTipInfo.

void SetParams(CMFCToolTipInfo* pParams);

Parámetros

pParams
[in] Puntero a un objeto de la clase CMFCToolTipInfo que contiene los parámetros de visualización.

Comentarios

Cada vez que se muestra la información sobre herramientas, se dibuja con los colores y estilos visuales que pParams especifica. El valor de pParams se almacena en el miembro protegido m_Params, al que puede acceder una clase derivada que invalida CMFCToolTipCtrl::OnDrawBorder, CMFCToolTipCtrl::OnDrawIcon, CMFCToolTipCtrl::OnDrawLabel, CMFCToolTipCtrl::OnDrawSeparator o CMFCToolTipCtrl::OnFillBackground para mantener la apariencia especificada.

Consulte también

Gráfico de jerarquías
Clases
CToolTipCtrl Class
CTooltipManager (clase)
CMFCToolTipInfo (clase)
CWinAppEx (clase)