分享方式:


CMFCToolTipCtrl 類別

根據 CToolTipCtrl Class的擴充工具提示實作。 根據 CMFCToolTipCtrl 類別的工具提示可以顯示圖示、標籤和描述。 您可以使用漸層填滿、自訂文字和框線色彩、粗體文字、圓角或氣球樣式,自訂其視覺外觀。

如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。

語法

class CMFCToolTipCtrl : public CToolTipCtrl

成員

公用建構函式

名稱 描述
CMFCToolTipCtrl::CMFCToolTipCtrl 預設建構函式。

公用方法

名稱 描述
CMFCToolTipCtrl::GetIconSize 傳回工具提示中的圖示大小。
CMFCToolTipCtrl::GetParams 傳回工具提示的顯示設定。
CMFCToolTipCtrl::OnDrawBorder 繪製工具提示的框線。
CMFCToolTipCtrl::OnDrawDescription
CMFCToolTipCtrl::OnDrawIcon 在工具提示中顯示圖示。
CMFCToolTipCtrl::OnDrawLabel 繪製工具提示的標籤,或計算標籤的大小。
CMFCToolTipCtrl::OnDrawSeparator 工具提示中的標籤和描述之間繪製分隔符號。
CMFCToolTipCtrl::OnFillBackground 填滿工具提示背景。
CMFCToolTipCtrl::SetDescription 設定要由工具提示顯示的描述。
CMFCToolTipCtrl::SetFixedWidth
CMFCToolTipCtrl::SetHotRibbonButton
CMFCToolTipCtrl::SetLocation
CMFCToolTipCtrl::SetParams 使用 CMFCToolTipInfo 物件指定工具提示的視覺外觀。

備註

在應用程式中使用 CMFCToolTipCtrlCMFCToolTipInfoCTooltipManager 類別 物件,在應用程式中實作自定義的工具提示。

例如,若要使用氣球樣式工具提示,請依照下列步驟:

  1. 使用 CWinAppEx 類別方法來初始化應用程式中的工具提示管理員。

  2. 建立 CMFCToolTipInfo 結構來指定您想要的視覺樣式:

    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. 使用 CTooltipManager::SetTooltipParams 方法,使用 物件中CMFCToolTipInfo定義的樣式,為應用程式中的所有工具提示設定可視化樣式:

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

您也可以從 CMFCToolTipCtrl 衍生新的類別,以控制工具提示的行為和呈現。 若要指定新的工具提示控制項類別,請使用 CTooltipManager::SetTooltipParams 方法:

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

若要還原預設工具提示控制類別,並將工具提示外觀重設為預設狀態,請在 SetTooltipParams 的執行階段類別和工具提示資訊參數中指定 NULL:

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

範例

下列範例示範如何建構 CMFCToolTipCtrl 物件、設定工具提示顯示的描述,以及設定工具提示控制項的寬度。

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

繼承階層架構

CObject

CCmdTarget

CWnd

CToolTipCtrl

CMFCToolTipCtrl

需求

標頭: afxtooltipctrl.h

CMFCToolTipCtrl::CMFCToolTipCtrl

CMFCToolTipCtrl(CMFCToolTipInfo* pParams = NULL);

參數

[in] pParams

備註

CMFCToolTipCtrl::GetIconSize

傳回工具提示中的圖示大小。

virtual CSize GetIconSize();

傳回值

圖示的大小,以像素為單位。

CMFCToolTipCtrl::GetParams

傳回工具提示的顯示設定。

const CMFCToolTipInfo& GetParams() const;

傳回值

目前的工具提示顯示設定,儲存在 CMFCToolTipInfo 類別 物件中。

CMFCToolTipCtrl::OnDrawBorder

繪製工具提示的框線。

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

參數

pDC
[in]裝置內容的指標。

rect
[in]工具提示的周框。

clrLine
[in]框線色彩。

備註

覆寫衍生類別中的這個方法,以自定義工具提示框線的外觀。

CMFCToolTipCtrl::OnDrawDescription

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

參數

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

傳回值

備註

CMFCToolTipCtrl::OnDrawIcon

在工具提示中顯示圖示。

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

參數

pDC
[in]裝置內容的指標。

rectImage
[in]圖示的座標。

傳回值

如果繪製圖示,則為TRUE。 否則為 FALSE。

備註

覆寫衍生類別中的這個方法,以顯示自定義圖示。 您也必須覆寫 CMFCToolTipCtrl::GetIconSize ,讓工具提示正確計算文字和描述的配置。

CMFCToolTipCtrl::OnDrawLabel

繪製工具提示的標籤,或計算標籤的大小。

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

參數

pDC
[in]裝置內容的指標。

rect
[in]標籤區域的周框。

bCalcOnly
[in]如果為TRUE,則不會繪製卷標。

傳回值

標籤大小,以像素為單位。

備註

如果您想要自定義工具提示標籤的外觀,請覆寫衍生類別中的這個方法。

CMFCToolTipCtrl::OnDrawSeparator

工具提示中的標籤和描述之間繪製分隔符號。

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

參數

pDC
[in]裝置內容的指標。

x1
[in]分隔符左端的水準座標。

x2
[in]分隔符右端的水準座標。

Y
[in]分隔符的垂直座標。

備註

默認實作會從點 (x1, y) 到點 (x2, y) 繪製線條。

覆寫衍生類別中的這個方法,以自定義分隔符的外觀。

CMFCToolTipCtrl::OnFillBackground

填滿工具提示背景。

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

參數

pDC
[in]裝置內容的指標。

rect
[in]指定要填滿之區域的周框。

clrText
[in]工具提示前景色彩。

clrLine
[in]標籤和描述之間的框線和分隔線的色彩。

備註

默認實作會以最近呼叫 CMFCToolTipCtrl::SetParams 所指定的色彩或圖樣填滿矩形

如果您想要自定義工具提示的外觀,請覆寫衍生類別中的這個方法。

CMFCToolTipCtrl::SetDescription

設定要由工具提示顯示的描述。

virtual void SetDescription(const CString strDesrciption);

參數

strDesrciption
[in]描述文字。

備註

描述文字會顯示在分隔符下的工具提示上。

CMFCToolTipCtrl::SetFixedWidth

void SetFixedWidth(
    int nWidthRegular,
    int nWidthLargeImage);

參數

[in] nWidthRegular
[in] nWidthLargeImage

備註

CMFCToolTipCtrl::SetHotRibbonButton

void SetHotRibbonButton(CMFCRibbonButton* pRibbonButton);

參數

[in] pRibbonButton

備註

CMFCToolTipCtrl::SetLocation

void SetLocation(CPoint pt);

參數

[in]

備註

CMFCToolTipCtrl::SetParams

使用 CMFCToolTipInfo 類別 物件指定工具提示的視覺外觀。

void SetParams(CMFCToolTipInfo* pParams);

參數

pParams
[in] 包含顯示參數的 CMFCToolTipInfo 類別 物件的指標。

備註

每當顯示工具提示時,就會使用 pParams 所指定的色彩和視覺樣式來繪製工具提示。 pParams 的值會儲存在受保護的成員m_Params中,此類別可由覆寫 CMFCToolTipCtrl::OnDrawBorder、CMFCToolTipCtrl::OnDrawIconCMFCToolTipCtrl::OnDrawLabel、CMFCToolTipCtrl::OnDrawSeparatorCMFCToolTipCtrl::OnFillBackground 以維持指定的外觀。

另請參閱

階層架構圖表
類別
CToolTipCtrl Class
CTooltipManager 類別
CMFCToolTipInfo 類別
CWinAppEx 類別