ここでは、CFrameWnd クラスから派生していないウィンドウに含まれているコントロールに対して、ツール ヒントを有効にする方法について説明します。 「ツール バーのツール ヒント」では、CFrameWnd クラスに含まれるコントロールのツール ヒントについて説明します。
ここでは、次の内容について説明します。
CFrameWnd クラスから派生した親ウィンドウに含まれているボタンなどのコントロールでは、ツール ヒントは自動的に表示されます。 これは、CFrameWnd に TTN_GETDISPINFO 通知用の既定のハンドラーがあるためです。このハンドラーは、コントロールに関連付けられたツール ヒント コントロールからの TTN_NEEDTEXT 通知を処理します。
ただし、ダイアログ ボックスやフォーム ビューのコントロールなど、CFrameWnd クラス以外のウィンドウのコントロールに関連付けられているツール ヒント コントロールから TTN_NEEDTEXT 通知が送られた場合、既定のハンドラーは呼び出されません。 したがって、子コントロール用のツール ヒントを表示するには、TTN_NEEDTEXT 通知メッセージ用のハンドラー関数を作成する必要があります。
CWnd::EnableToolTips によってウィンドウに提供される既定のツール ヒントには、テキストが関連付けられていません。 ツール ヒントに表示するテキストを取得するには、ツール ヒント ウィンドウが表示される直前に、TTN_NEEDTEXT 通知をツール ヒント コントロールの親ウィンドウに送ります。 TOOLTIPTEXT 構造体の pszText メンバーに値を割り当てるためのメッセージ ハンドラーがない場合、ツール ヒントのテキストは表示されません。