CMFCToolTipCtrl, classe
Implémentation d’info-bulle étendue basée sur CToolTipCtrl Class. Une info-bulle basée sur la classe CMFCToolTipCtrl
peut afficher une icône, une étiquette et une description. Vous pouvez personnaliser son apparence visuelle en utilisant un dégradé, un texte personnalisé et des couleurs de bordure, un texte en gras, des angles arrondis ou un style d'info-bulle.
Pour plus d’informations, consultez le code source situé dans le dossier VC\atlmfc\src\mfc de votre installation de Visual Studio.
Syntaxe
class CMFCToolTipCtrl : public CToolTipCtrl
Membres
Constructeurs publics
Nom | Description |
---|---|
CMFCToolTipCtrl::CMFCToolTipCtrl |
Constructeur par défaut. |
Méthodes publiques
Nom | Description |
---|---|
CMFCToolTipCtrl ::GetIconSize | Retourne la taille d'une icône dans une info-bulle. |
CMFCToolTipCtrl ::GetParams | Retourne les paramètres d'affichage d'une info-bulle. |
CMFCToolTipCtrl ::OnDrawBorder | Dessine la bordure d'une info-bulle. |
CMFCToolTipCtrl ::OnDrawDescription | |
CMFCToolTipCtrl ::OnDrawIcon | Affiche une icône dans une info-bulle. |
CMFCToolTipCtrl ::OnDrawLabel | Dessine l'étiquette d'une info-bulle ou calcule la taille de l'étiquette. |
CMFCToolTipCtrl ::OnDrawSeparator | Dessine le séparateur entre l'étiquette et la description dans une info-bulle. |
CMFCToolTipCtrl ::OnFillBackground | Remplit l'arrière-plan de l'info-bulle. |
CMFCToolTipCtrl ::SetDescription | Définit la description affichée par l'info-bulle. |
CMFCToolTipCtrl ::SetFixedWidth | |
CMFCToolTipCtrl ::SetHotRibbonButton | |
CMFCToolTipCtrl ::SetLocation | |
CMFCToolTipCtrl ::SetParams | Spécifie l'apparence visuelle d'une info-bulle en utilisant un objet CMFCToolTipInfo . |
Notes
Utilisez CMFCToolTipCtrl
, CMFCToolTipInfo
et les objets de classe CTooltipManager ensemble pour implémenter des info-bulles personnalisées dans votre application.
Par exemple, pour utiliser des info-bulles en forme de bulle, procédez comme suit :
Utilisez la méthode CWinAppEx Class pour initialiser le gestionnaire d’info-bulles dans votre application.
Créez une structure
CMFCToolTipInfo
pour spécifier le style visuel souhaité :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); }
Utilisez la méthode CTooltipManager ::SetTooltipParams pour définir le style visuel pour toutes les info-bulles de l’application à l’aide des styles définis dans l’objet
CMFCToolTipInfo
:theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL, RUNTIME_CLASS (CMFCToolTipCtrl), ¶ms);
Vous pouvez aussi faire dériver une nouvelle classe de CMFCToolTipCtrl
pour contrôler le comportement et le rendu des info-bulles. Pour spécifier une nouvelle classe de contrôle d'info-bulle, utilisez la méthode CTooltipManager::SetTooltipParams
:
myApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
RUNTIME_CLASS (CMyToolTipCtrl))
Pour restaurer la classe de contrôle d'info-bulle par défaut et rétablir l'état par défaut de l'apparence des info-bulles, spécifiez la valeur NULL dans les paramètres de classe Runtime et d'informations sur les info-bulles dans SetTooltipParams
:
theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
NULL,
NULL);
Exemple
L'exemple suivant montre comment construire un objet CMFCToolTipCtrl
, définir la description affichée par l'info-bulle et définir la largeur du contrôle info-bulle.
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);
Hiérarchie d'héritage
Spécifications
En-tête : afxtooltipctrl.h
CMFCToolTipCtrl ::CMFCToolTipCtrl
CMFCToolTipCtrl(CMFCToolTipInfo* pParams = NULL);
Paramètres
[in] pParams
Notes
CMFCToolTipCtrl ::GetIconSize
Retourne la taille d'une icône dans une info-bulle.
virtual CSize GetIconSize();
Valeur de retour
Taille de l’icône, en pixels.
CMFCToolTipCtrl ::GetParams
Retourne les paramètres d'affichage d'une info-bulle.
const CMFCToolTipInfo& GetParams() const;
Valeur de retour
Les paramètres d’affichage d’info-bulle actuels, qui sont stockés dans un objet CMFCToolTipInfo, classe .
CMFCToolTipCtrl ::OnDrawBorder
Dessine la bordure d'une info-bulle.
virtual void OnDrawBorder(
CDC* pDC,
CRect rect,
COLORREF clrLine);
Paramètres
pDC
[in] Pointeur vers un contexte d’appareil.
rect
[in] Rectangle englobant de l’info-bulle.
clrLine
[in] Couleur de bordure.
Notes
Remplacez cette méthode dans une classe dérivée pour personnaliser l’apparence de la bordure d’info-bulle.
CMFCToolTipCtrl ::OnDrawDescription
virtual CSize OnDrawDescription(
CDC* pDC,
CRect rect,
BOOL bCalcOnly);
Paramètres
[in] pDC
[in] rect
[in] bCalcOnly
Valeur de retour
Notes
CMFCToolTipCtrl ::OnDrawIcon
Affiche une icône dans une info-bulle.
virtual BOOL OnDrawIcon(
CDC* pDC,
CRect rectImage);
Paramètres
pDC
[in] Pointeur vers un contexte d’appareil.
rectImage
[in] Coordonnées de l’icône.
Valeur de retour
TRUE si l’icône a été dessinée. Sinon, FALSE.
Notes
Remplacez cette méthode dans une classe dérivée pour afficher une icône personnalisée. Vous devez également remplacer CMFCToolTipCtrl ::GetIconSize pour permettre à l’info-bulle de calculer correctement la disposition du texte et de la description.
CMFCToolTipCtrl ::OnDrawLabel
Dessine l'étiquette d'une info-bulle ou calcule la taille de l'étiquette.
virtual CSize OnDrawLabel(
CDC* pDC,
CRect rect,
BOOL bCalcOnly);
Paramètres
pDC
[in] Pointeur vers un contexte d’appareil.
rect
[in] Rectangle englobant de la zone d’étiquette.
bCalcOnly
[in] Si la valeur est TRUE, l’étiquette ne sera pas dessinée.
Valeur de retour
Taille de l’étiquette, en pixels.
Notes
Remplacez cette méthode dans une classe dérivée si vous souhaitez personnaliser l’apparence de l’étiquette d’info-bulle.
CMFCToolTipCtrl ::OnDrawSeparator
Dessine le séparateur entre l'étiquette et la description dans une info-bulle.
virtual void OnDrawSeparator(
CDC* pDC,
int x1,
int x2,
int y);
Paramètres
pDC
[in] Pointeur vers un contexte d’appareil.
x1
[in] Coordonnée horizontale de l’extrémité gauche du séparateur.
x2
[in] Coordonnée horizontale de l’extrémité droite du séparateur.
Y
[in] Coordonnée verticale du séparateur.
Notes
L’implémentation par défaut dessine une ligne du point (x1, y) au point (x2, y).
Remplacez cette méthode dans une classe dérivée pour personnaliser l’apparence du séparateur.
CMFCToolTipCtrl ::OnFillBackground
Remplit l'arrière-plan de l'info-bulle.
virtual void OnFillBackground(
CDC* pDC,
CRect rect,
COLORREF& clrText,
COLORREF& clrLine);
Paramètres
pDC
[in] Pointeur vers un contexte d’appareil.
rect
[in] Spécifie le rectangle englobant de la zone à remplir.
clrText
[in] Couleur de premier plan de l’info-bulle.
clrLine
[in] Couleur des bordures et de la ligne délimiteur entre étiquette et description.
Notes
L’implémentation par défaut remplit le rectangle spécifié par rect avec la couleur ou le modèle spécifié par l’appel le plus récent à CMFCToolTipCtrl ::SetParams.
Remplacez cette méthode dans une classe dérivée si vous souhaitez personnaliser l’apparence de l’info-bulle.
CMFCToolTipCtrl ::SetDescription
Définit la description affichée par l'info-bulle.
virtual void SetDescription(const CString strDesrciption);
Paramètres
strDesrciption
[in] Texte de description.
Notes
Le texte de description s’affiche sur l’info-bulle sous le séparateur.
CMFCToolTipCtrl ::SetFixedWidth
void SetFixedWidth(
int nWidthRegular,
int nWidthLargeImage);
Paramètres
[in] nWidthRegular
[in] nWidthLargeImage
Notes
CMFCToolTipCtrl ::SetHotRibbonButton
void SetHotRibbonButton(CMFCRibbonButton* pRibbonButton);
Paramètres
[in] pRibbonButton
Notes
CMFCToolTipCtrl ::SetLocation
void SetLocation(CPoint pt);
Paramètres
[in] Pt
Notes
CMFCToolTipCtrl ::SetParams
Spécifie l’apparence visuelle d’une info-bulle à l’aide d’un objet CMFCToolTipInfo, classe .
void SetParams(CMFCToolTipInfo* pParams);
Paramètres
pParams
[in] Pointeur vers un objet CMFCToolTipInfo, classe qui contient les paramètres d’affichage.
Notes
Chaque fois que l’info-bulle est affichée, elle est dessinée à l’aide des couleurs et des styles visuels spécifiés par pParams . La valeur de pParams est stockée dans le membre m_Params
protégé, accessible par une classe dérivée qui remplace CMFCToolTipCtrl ::OnDrawBorder, CMFCToolTipCtrl ::OnDrawIcon, CMFCToolTipCtrl ::OnDrawLabel, CMFCToolTipCtrl ::OnDrawTipCtrl ::OnDrawSeparator ou CMFCToolTipCtrl ::OnFillBackground pour conserver l’apparence spécifiée.
Voir aussi
Graphique hiérarchique
Classes
CToolTipCtrl Class
CTooltipManager, classe
CMFCToolTipInfo, classe
CWinAppEx, classe