Partilhar via


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