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:
Use o método da Classe CWinAppEx para inicializar o gerenciador de dicas de ferramentas em seu aplicativo.
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); }
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), ¶ms);
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
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