Classe CMFCToolTipCtrl

Uma implementação de dica de ferramenta estendida com base na Classe CToolTipCtrl. Uma dica de ferramenta com base na classe CMFCToolTipCtrl pode exibir um ícone, uma etiqueta e uma descrição. Você pode personalizar sua aparência visual usando um preenchimento gradiente, texto personalizado e cores de borda, texto em negrito, cantos arredondados ou um estilo de balão.

Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.

Sintaxe

class CMFCToolTipCtrl : public CToolTipCtrl

Membros

Construtores públicos

Nome Descrição
CMFCToolTipCtrl::CMFCToolTipCtrl Construtor padrão.

Métodos públicos

Nome Descrição
CMFCToolTipCtrl::GetIconSize Retorna o tamanho de um ícone em uma dica de ferramenta.
CMFCToolTipCtrl::GetParams Retorna as configurações de exibição de uma dica de ferramenta.
CMFCToolTipCtrl::OnDrawBorder Desenha a borda de uma dica de ferramenta.
CMFCToolTipCtrl::OnDrawDescription
CMFCToolTipCtrl::OnDrawIcon Exibe um ícone em uma dica de ferramenta.
CMFCToolTipCtrl::OnDrawLabel Desenha o rótulo de uma dica de ferramenta ou calcula o tamanho do rótulo.
CMFCToolTipCtrl::OnDrawSeparator Desenha o separador entre o rótulo e a descrição em uma dica de ferramenta.
CMFCToolTipCtrl::OnFillBackground Preenche a tela de fundo da dica de ferramenta.
CMFCToolTipCtrl::SetDescription Define a descrição a ser exibida pela dica de ferramenta.
CMFCToolTipCtrl::SetFixedWidth
CMFCToolTipCtrl::SetHotRibbonButton
CMFCToolTipCtrl::SetLocation
CMFCToolTipCtrl::SetParams Especifica a aparência visual de uma dica de ferramenta usando um objeto CMFCToolTipInfo.

Comentários

Use CMFCToolTipCtrl, CMFCToolTipInfo e objetos Classe CTooltipManager juntos para implementar dicas de ferramenta personalizadas em seu aplicativo.

Por exemplo, para usar dicas de ferramentas no estilo balão, siga estas etapas:

  1. Use o método da Classe CWinAppEx para inicializar o gerenciador de dicas de ferramentas em seu aplicativo.

  2. Crie uma estrutura CMFCToolTipInfo para especificar o estilo visual desejado:

    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 o método CTooltipManager::SetTooltipParams para definir o estilo visual para todas as dicas de ferramentas no aplicativo usando os estilos definidos no objeto CMFCToolTipInfo:

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

Você também pode derivar uma nova classe de CMFCToolTipCtrl para controlar o comportamento e a renderização da dica de ferramenta. Para especificar uma nova classe de controle de dica de ferramenta, use o método CTooltipManager::SetTooltipParams:

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

Para restaurar a classe de controle padrão da dica de ferramenta e redefinir a aparência da dica de ferramenta para seu estado padrão, especifique NULL nos parâmetros de classe de runtime e informações de dica de ferramenta de SetTooltipParams:

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

Exemplo

O exemplo a seguir demonstra como construir um objeto CMFCToolTipCtrl, definir a descrição que a dica de ferramenta exibe e definir a largura do controle da dica de ferramenta.

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);

Hierarquia de herança

CObject

CCmdTarget

CWnd

CToolTipCtrl

CMFCToolTipCtrl

Requisitos

Cabeçalho: afxtooltipctrl.h

CMFCToolTipCtrl::CMFCToolTipCtrl

CMFCToolTipCtrl(CMFCToolTipInfo* pParams = NULL);

Parâmetros

[in] pParams

Comentários

CMFCToolTipCtrl::GetIconSize

Retorna o tamanho de um ícone em uma dica de ferramenta.

virtual CSize GetIconSize();

Valor de retorno

O tamanho do ícone em pixels.

CMFCToolTipCtrl::GetParams

Retorna as configurações de exibição de uma dica de ferramenta.

const CMFCToolTipInfo& GetParams() const;

Valor de retorno

As configurações atuais de exibição da dica de ferramenta, que são armazenadas em um objeto de classe CMFCToolTipInfo.

CMFCToolTipCtrl::OnDrawBorder

Desenha a borda de uma dica de ferramenta.

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

Parâmetros

pDC
[in] Ponteiro para um contexto de dispositivo.

rect
[in] O retângulo delimitador da dica de ferramenta.

clrLine
[in] Cor da borda.

Comentários

Substitua esse método em uma classe derivada para personalizar a aparência da borda da dica de ferramenta.

CMFCToolTipCtrl::OnDrawDescription

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

Parâmetros

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

Valor de retorno

Comentários

CMFCToolTipCtrl::OnDrawIcon

Exibe um ícone em uma dica de ferramenta.

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

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectImage
[in] Coordenadas do ícone.

Valor de retorno

TRUE se o ícone foi desenhado. Caso contrário, FALSE.

Comentários

Substitua esse método em uma classe derivada para exibir um ícone personalizado. Você também deve substituir CMFCToolTipCtrl::GetIconSize para permitir que a dica de ferramenta calcule corretamente o layout do texto e da descrição.

CMFCToolTipCtrl::OnDrawLabel

Desenha o rótulo de uma dica de ferramenta ou calcula o tamanho do rótulo.

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

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Retângulo delimitador da área do rótulo.

bCalcOnly
[in] Se TRUE, o rótulo não será desenhado.

Valor de retorno

O tamanho do rótulo em pixels.

Comentários

Substitua esse método em uma classe derivada se você quiser personalizar a aparência do rótulo da dica de ferramenta.

CMFCToolTipCtrl::OnDrawSeparator

Desenha o separador entre o rótulo e a descrição em uma dica de ferramenta.

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

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

x1
[in] Coordenada horizontal da extremidade esquerda do separador.

x2
[in] Coordenada horizontal da extremidade direita do separador.

Y
[in] Coordenada vertical do separador.

Comentários

A implementação padrão desenha uma linha do ponto (x1, y) para o ponto (x2, y).

Substitua esse método em uma classe derivada para personalizar a aparência do separador.

CMFCToolTipCtrl::OnFillBackground

Preenche a tela de fundo da dica de ferramenta.

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

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rect
[in] Especifica o retângulo delimitador da área a ser preenchida.

clrTexto
[in] Cor de primeiro plano da dica de ferramenta.

clrLine
[in] Cor das bordas e da linha delimitadora entre o rótulo e a descrição.

Comentários

A implementação padrão preenche o retângulo especificado por rect com a cor ou padrão especificado pela chamada mais recente a CMFCToolTipCtrl::SetParams.

Substitua esse método em uma classe derivada se você quiser personalizar a aparência da dica de ferramenta.

CMFCToolTipCtrl::SetDescription

Define a descrição a ser exibida pela dica de ferramenta.

virtual void SetDescription(const CString strDesrciption);

Parâmetros

strDesrciption
[in] Texto de descrição.

Comentários

O texto de descrição é exibido na dica de ferramenta abaixo do separador.

CMFCToolTipCtrl::SetFixedWidth

void SetFixedWidth(
    int nWidthRegular,
    int nWidthLargeImage);

Parâmetros

[in] nWidthRegular
[in] nWidthLargeImage

Comentários

CMFCToolTipCtrl::SetHotRibbonButton

void SetHotRibbonButton(CMFCRibbonButton* pRibbonButton);

Parâmetros

[in] pRibbonButton

Comentários

CMFCToolTipCtrl::SetLocation

void SetLocation(CPoint pt);

Parâmetros

[in] pt

Comentários

CMFCToolTipCtrl::SetParams

Especifica a aparência visual de uma dica de ferramenta usando um objeto Classe CMFCToolTipInfo.

void SetParams(CMFCToolTipInfo* pParams);

Parâmetros

pParams
[in] Ponteiro para um objeto Classe CMFCToolTipInfo que contém os parâmetros de exibição.

Comentários

Sempre que a dica de ferramenta é exibida, ela é desenhada usando as cores e estilos visuais especificados pelo pParams. O valor de pParams é armazenado no membro protegido m_Params, que pode ser acessado por uma classe derivada que substitui CMFCToolTipCtrl::OnDrawBorder, CMFCToolTipCtrl::OnDrawIcon, CMFCToolTipCtrl::OnDrawLabel, CMFCToolTipCtrl::OnDrawSeparator ou CMFCToolTipCtrl::OnFillBackground para manter a aparência especificada.

Confira também

Gráfico da hierarquia
Classes
Classe CToolTipCtrl
Classe CTooltipManager
Classe CMFCToolTipInfo
Classe CWinAppEx