Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
CMFCToolTipInfopara 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