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 物件指定工具提示的視覺外觀。 |
備註
在應用程式中使用 CMFCToolTipCtrl
、 CMFCToolTipInfo
和 CTooltipManager 類別 物件,在應用程式中實作自定義的工具提示。
例如,若要使用氣球樣式工具提示,請依照下列步驟:
使用 CWinAppEx 類別方法來初始化應用程式中的工具提示管理員。
建立
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); }
使用 CTooltipManager::SetTooltipParams 方法,使用 物件中
CMFCToolTipInfo
定義的樣式,為應用程式中的所有工具提示設定可視化樣式:theApp.GetTooltipManager ()->SetTooltipParams (AFX_TOOLTIP_TYPE_ALL, RUNTIME_CLASS (CMFCToolTipCtrl), ¶ms);
您也可以從 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);
繼承階層架構
需求
標頭: 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::OnDrawIcon、CMFCToolTipCtrl::OnDrawLabel、CMFCToolTipCtrl::OnDrawSeparator 或 CMFCToolTipCtrl::OnFillBackground 以維持指定的外觀。
另請參閱
階層架構圖表
類別
CToolTipCtrl Class
CTooltipManager 類別
CMFCToolTipInfo 類別
CWinAppEx 類別