Partager via


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, CMFCToolTipInfoet 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 :

  1. Utilisez la méthode CWinAppEx Class pour initialiser le gestionnaire d’info-bulles dans votre application.

  2. 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);
    
    }
    
  3. 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), &params);
    

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

CObject

CCmdTarget

CWnd

CToolTipCtrl

CMFCToolTipCtrl

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_Paramsproté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