- [アーティクル]
-
-
TBSTYLE_TOOLTIPS スタイルを指定すると、ツール バーはヒント コントロールを作成して管理します。 ヒント コントロールは表示されていませんが、ユーザーがマウス ポインターをツール バーのボタンの上に移動して約 1 秒間そのまま留めておいたときにのみ表示されます。
アプリケーションは、以下のいずれかの方法でヒント コントロールにテキストを提供できます。
ヒント コントロールにメッセージを直接送信する必要があるアプリケーションでは、TB_GETTOOLTIPS メッセージを使用して、コントロールのハンドルを取得できます。 アプリケーションは、TB_SETTOOLTIPS メッセージを使用することで、ツール バーのヒント コントロールを別のヒント コントロールで置き換えることができます。
ヒント テキストを提供するうえで最も柔軟性の高い方法は、ツール バー コントロールからその親に対して WM_NOTIFY メッセージの形式で送信される、TTN_GETDISPINFO 通知コードまたは TBN_GETINFOTIP 通知コードに応答する方法です。 TTN_GETDISPINFO の場合、lParam パラメーターに、NMTTDISPINFO 構造体 (LPTOOLTIPTEXT としても定義される) へのポインターが含まれます。この構造体により、ヘルプ テキストが必要なボタンのコマンド識別子が指定されます。 この識別子は、NMTTDISPINFO.hdr.idFrom メンバーに格納されます。 アプリケーションは、ヘルプ テキストを構造体にコピーするか、ヘルプ テキストを含む文字列のアドレスを指定するか、または文字列リソースのインスタンス ハンドルとリソース識別子を指定することができます。
- C/C++
- Windows ユーザー インターフェイス プログラミング
次のコード例では、リソース識別子からのテキストを提供することにより、TTN_GETDISPINFO ヒント通知コードを処理します。
case WM_NOTIFY:
switch (((LPNMHDR) lParam)->code)
{
case TTN_GETDISPINFO:
{
LPTOOLTIPTEXT lpttt = (LPTOOLTIPTEXT)lParam;
// Set the instance of the module that contains the resource.
lpttt->hinst = g_hInst;
UINT_PTR idButton = lpttt->hdr.idFrom;
switch (idButton)
{
case IDM_NEW:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_NEW);
break;
case IDM_OPEN:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_OPEN);
break;
case IDM_SAVE:
lpttt->lpszText = MAKEINTRESOURCE(IDS_TIPS_SAVE);
break;
}
break;
}
}
return TRUE;
-
ツール バー コントロールの使用
-
Windows コモン コントロールのデモ (CppWindowsCommonControls)