Condividi tramite


Classe CMFCToolTipCtrl

Implementazione estesa di descrizioni comandi basata sulla CToolTipCtrl Class. Una descrizione comando basata sulla classe CMFCToolTipCtrl può visualizzare un'icona, un'etichetta e una descrizione. È possibile personalizzare l'aspetto visivo utilizzando un riempimento sfumato, testo e colori del bordo personalizzati, testo in grassetto, angoli arrotondati o uno stile di tipo fumetto.

Per altri dettagli, vedere il codice sorgente che si trova nella cartella VC\atlmfc\src\mfc dell'installazione di Visual Studio.

Sintassi

class CMFCToolTipCtrl : public CToolTipCtrl

Membri

Costruttori pubblici

Nome Descrizione
CMFCToolTipCtrl::CMFCToolTipCtrl Costruttore predefinito.

Metodi pubblici

Nome Descrizione
CMFCToolTipCtrl::GetIconSize Restituisce le dimensioni di un'icona in una descrizione comando.
CMFCToolTipCtrl::GetParams Restituisce le impostazioni di visualizzazione di una descrizione comando.
CMFCToolTipCtrl::OnDrawBorder Estrae il bordo di una descrizione comando.
CMFCToolTipCtrl::OnDrawDescription
CMFCToolTipCtrl::OnDrawIcon Visualizza un'icona in una descrizione comando.
CMFCToolTipCtrl::OnDrawLabel Crea l'etichetta della descrizione comando o calcola la dimensione dell'etichetta.
CMFCToolTipCtrl::OnDrawSeparator Crea il separatore tra l'etichetta e la descrizione in una descrizione comando.
CMFCToolTipCtrl::OnFillBackground Riempie lo sfondo di descrizione comando.
CMFCToolTipCtrl::SetDescription Imposta la descrizione che verrà visualizzata dalla descrizione comando.
CMFCToolTipCtrl::SetFixedWidth
CMFCToolTipCtrl::SetHotRibbonButton
CMFCToolTipCtrl::SetLocation
CMFCToolTipCtrl::SetParams Specifica l'aspetto di una descrizione comando con un oggetto CMFCToolTipInfo.

Osservazioni:

Usare CMFCToolTipCtrlgli oggetti Classe , CMFCToolTipInfoe CTooltipManager insieme per implementare descrizioni comando personalizzate nell'applicazione.

Ad esempio, per usare le descrizioni comando di tipo fumetto, seguire questa procedura:

  1. Usare il metodo CWinAppEx Class per inizializzare lo strumento di gestione descrizioni comando nell'applicazione.

  2. Creare una struttura CMFCToolTipInfo per specificare lo stile di visualizzazione desiderata:

    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. Usare il metodo CTooltipManager::SetTooltipParams per impostare lo stile di visualizzazione per tutte le descrizioni comando nell'applicazione usando gli stili definiti nell'oggetto CMFCToolTipInfo :

    theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
        RUNTIME_CLASS (CMFCToolTipCtrl), &params);
    

È anche possibile derivare una nuova classe da CMFCToolTipCtrl per controllare il comportamento e il rendering di descrizione comando. Per specificare una nuova classe del controllo Tooltip, usare il metodo CTooltipManager::SetTooltipParams:

myApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    RUNTIME_CLASS (CMyToolTipCtrl))

Per ripristinare la classe predefinita del controllo Tooltip e reimpostare il relativo aspetto allo stato predefinito, specificare NULL nei parametri di informazioni di descrizione comando e nella classe di runtime SetTooltipParams:

theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL,
    NULL,
    NULL);

Esempio

Nell'esempio seguente viene illustrato come costruire un oggetto CMFCToolTipCtrl, come impostare la descrizione visualizzata dalla descrizione comando e come impostare la larghezza del controllo Tooltip.

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);

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CToolTipCtrl

CMFCToolTipCtrl

Requisiti

Intestazione: afxtooltipctrl.h

CMFCToolTipCtrl::CMFCToolTipCtrl

CMFCToolTipCtrl(CMFCToolTipInfo* pParams = NULL);

Parametri

[in] pParams

Osservazioni:

CMFCToolTipCtrl::GetIconSize

Restituisce le dimensioni di un'icona in una descrizione comando.

virtual CSize GetIconSize();

Valore restituito

Dimensioni dell'icona, in pixel.

CMFCToolTipCtrl::GetParams

Restituisce le impostazioni di visualizzazione di una descrizione comando.

const CMFCToolTipInfo& GetParams() const;

Valore restituito

Le impostazioni di visualizzazione della descrizione comando corrente, archiviate in un oggetto classe CMFCToolTipInfo.

CMFCToolTipCtrl::OnDrawBorder

Estrae il bordo di una descrizione comando.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect rect,
    COLORREF clrLine);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Rettangolo di delimitazione della descrizione comando.

clrLine
[in] Colore bordo.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata per personalizzare l'aspetto del bordo della descrizione comando.

CMFCToolTipCtrl::OnDrawDescription

virtual CSize OnDrawDescription(
    CDC* pDC,
    CRect rect,
    BOOL bCalcOnly);

Parametri

[in] pDC
[in] rect
[in] bCalcOnly

Valore restituito

Osservazioni:

CMFCToolTipCtrl::OnDrawIcon

Visualizza un'icona in una descrizione comando.

virtual BOOL OnDrawIcon(
    CDC* pDC,
    CRect rectImage);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rectImage
[in] Coordinate dell'icona.

Valore restituito

TRUE se l'icona è stata disegnata. In caso contrario, FALSE.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata per visualizzare un'icona personalizzata. È inoltre necessario eseguire l'override di CMFCToolTipCtrl::GetIconSize per consentire alla descrizione comando di calcolare correttamente il layout del testo e della descrizione.

CMFCToolTipCtrl::OnDrawLabel

Crea l'etichetta della descrizione comando o calcola la dimensione dell'etichetta.

virtual CSize OnDrawLabel(
    CDC* pDC,
    CRect rect,
    BOOL bCalcOnly);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Rettangolo di delimitazione dell'area dell'etichetta.

bCalcOnly
[in] Se TRUE, l'etichetta non verrà disegnata.

Valore restituito

Dimensioni dell'etichetta, in pixel.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata se si desidera personalizzare l'aspetto dell'etichetta della descrizione comando.

CMFCToolTipCtrl::OnDrawSeparator

Crea il separatore tra l'etichetta e la descrizione in una descrizione comando.

virtual void OnDrawSeparator(
    CDC* pDC,
    int x1,
    int x2,
    int y);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

x1
[in] Coordinata orizzontale dell'estremità sinistra del separatore.

x2
[in] Coordinata orizzontale dell'estremità destra del separatore.

Y
[in] Coordinata verticale del separatore.

Osservazioni:

L'implementazione predefinita disegna una linea dal punto (x1, y) al punto (x2, y).

Eseguire l'override di questo metodo in una classe derivata per personalizzare l'aspetto del separatore.

CMFCToolTipCtrl::OnFillBackground

Riempie lo sfondo di descrizione comando.

virtual void OnFillBackground(
    CDC* pDC,
    CRect rect,
    COLORREF& clrText,
    COLORREF& clrLine);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Specifica il rettangolo di delimitazione dell'area da riempire.

clrText
[in] Colore di primo piano della descrizione comando.

clrLine
[in] Colore dei bordi e linea del delimitatore tra etichetta e descrizione.

Osservazioni:

L'implementazione predefinita riempie il rettangolo specificato da rect con il colore o il motivo specificato dalla chiamata più recente a CMFCToolTipCtrl::SetParams.

Eseguire l'override di questo metodo in una classe derivata se si desidera personalizzare l'aspetto della descrizione comando.

CMFCToolTipCtrl::SetDescription

Imposta la descrizione che verrà visualizzata dalla descrizione comando.

virtual void SetDescription(const CString strDesrciption);

Parametri

strDesrciption
[in] Testo della descrizione.

Osservazioni:

Il testo della descrizione viene visualizzato nella descrizione comando sotto il separatore.

CMFCToolTipCtrl::SetFixedWidth

void SetFixedWidth(
    int nWidthRegular,
    int nWidthLargeImage);

Parametri

[in] nWidthRegular
[in] nWidthLargeImage

Osservazioni:

CMFCToolTipCtrl::SetHotRibbonButton

void SetHotRibbonButton(CMFCRibbonButton* pRibbonButton);

Parametri

[in] pRibbonButton

Osservazioni:

CMFCToolTipCtrl::SetLocation

void SetLocation(CPoint pt);

Parametri

[in] Pt

Osservazioni:

CMFCToolTipCtrl::SetParams

Specifica l'aspetto visivo di una descrizione comando utilizzando un oggetto Classe CMFCToolTipInfo.

void SetParams(CMFCToolTipInfo* pParams);

Parametri

pParams
[in] Puntatore a un oggetto classe CMFCToolTipInfo che contiene i parametri di visualizzazione.

Osservazioni:

Ogni volta che viene visualizzata la descrizione comando, viene disegnata usando i colori e gli stili di visualizzazione specificati da pParams . Il valore di pParams viene archiviato nel membro m_Paramsprotetto , accessibile da una classe derivata che esegue l'override di CMFCToolTipCtrl::OnDrawBorder, CMFCToolTipCtrl::OnDrawIcon, CMFCToolTipCtrl::OnDrawLabel, CMFCToolTipCtrl::OnDrawSeparator o CMFCToolTipCtrl::OnFillBackground per mantenere l'aspetto specificato.

Vedi anche

Grafico della gerarchia
Classi
CToolTipCtrl Class
Classe CTooltipManager
Classe CMFCToolTipInfo
Classe CWinAppEx