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 オブジェクトを使用して、ツールヒントの外観を指定します。 |
解説
CMFCToolTipInfo
、および CTooltipManager クラス オブジェクトを一緒に使用CMFCToolTipCtrl
して、カスタマイズされたヒントをアプリケーションに実装します。
たとえば、バルーン形式のツールヒントを使用するには、次の手順に従います。
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
[入力] デバイス コンテキストへのポインター。
rectImage
[in]アイコンの座標。
戻り値
アイコンが描画された場合は TRUE。 それ以外の場合は FALSE。
解説
カスタム アイコンを表示するには、派生クラスでこのメソッドをオーバーライドします。 また、CMFCToolTipCtrl::GetIconSize をオーバーライドして、ヒントでテキストと説明のレイアウトを正しく計算できるようにする必要があります。
CMFCToolTipCtrl::OnDrawLabel
ツールヒントのラベルを描画するか、ラベルのサイズを計算します。
virtual CSize OnDrawLabel(
CDC* pDC,
CRect rect,
BOOL bCalcOnly);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
rect
[in]ラベル領域の外接する四角形。
bCalcOnly
[in]TRUE の場合、ラベルは描画されません。
戻り値
ラベルのサイズ (ピクセル単位)。
解説
ヒント ラベルの外観をカスタマイズする場合は、派生クラスでこのメソッドをオーバーライドします。
CMFCToolTipCtrl::OnDrawSeparator
ツールヒント内のラベルと説明の間の区分線を描画します。
virtual void OnDrawSeparator(
CDC* pDC,
int x1,
int x2,
int y);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
x1
[in]区切り記号の左端の水平方向の座標。
x2
[in]区切り記号の右端の水平方向の座標。
Y
[in]区切り記号の垂直方向の座標。
解説
既定の実装では、点 (x1, y) から点 (x2, y) に線を描画します。
区切り記号の外観をカスタマイズするには、派生クラスでこのメソッドをオーバーライドします。
CMFCToolTipCtrl::OnFillBackground
ツールヒントの背景を塗りつぶします。
virtual void OnFillBackground(
CDC* pDC,
CRect rect,
COLORREF& clrText,
COLORREF& clrLine);
パラメーター
pDC
[入力] デバイス コンテキストへのポインター。
rect
[in]塗りつぶす領域の外接する四角形を指定します。
clrText
[in]ツールヒントの前景色。
clrLine
[in]罫線の色と、ラベルと説明の間の区切り記号の線。
解説
既定の実装は、rect で指定された四角形に、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);
パラメーター
[入力] pt
解説
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 クラス