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して、カスタマイズされたヒントをアプリケーションに実装します。

たとえば、バルーン形式のツールヒントを使用するには、次の手順に従います。

  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
[入力] デバイス コンテキストへのポインター。

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::OnDrawIconCMFCToolTipCtrl::OnDrawLabelCMFCToolTipCtrl::OnDrawSeparator、または CMFCToolTipCtrl::OnFillBackground をオーバーライドして、指定した外観を維持する派生クラスによってアクセスできます。

関連項目

階層図
クラス
CToolTipCtrl Class
CTooltipManager クラス
CMFCToolTipInfo クラス
CWinAppEx クラス