StringFormat::SetHotkeyPrefix メソッド (gdiplusstringformat.h)
StringFormat::SetHotkeyPrefix メソッドは、ホット キー プレフィックスアンパサンド (&) が検出されたときに文字列に対して実行される処理の種類を設定します。 アンパサンドはホット キー プレフィックスと呼ばれ、特定のキーをホット キーとして指定するために使用できます。
構文
Status SetHotkeyPrefix(
[in] HotkeyPrefix hotkeyPrefix
);
パラメーター
[in] hotkeyPrefix
種類: HotkeyPrefix
ホット キー プレフィックスの処理方法を指定する HotkeyPrefix 列挙体の要素。
戻り値
種類: 状態
メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
注釈
ホット キー (アクセス キーとも呼ばれます) は、エンド ユーザーに機能へのキーボード ショートカットを提供するようにプログラムされ、Alt キーを押してアクティブ化されるキーです。 キーはアプリケーションに依存し、アンダースコア付きの文字 (通常はメニュー名またはメニュー項目) で識別されます。たとえば、Alt キーを押すと、[ ファイル ] メニューの文字 F がアンダースコアで表示されます。 F キーは、[ ファイル ] メニューを表示するためのショートカットです。
クライアント プログラマは、アプリケーションでホット キー プレフィックスアンパサンド (&) を使用し、通常はメニューまたはメニュー内の項目の名前として表示される文字列でホット キーを指定し、 StringFormat::SetHotkeyPrefix メソッドを使用して適切な種類の処理を設定します。 文字列内の文字の前にアンパサンドが付いている場合、文字に対応するキーは、文字列が表示デバイスに描画されるときに発生する処理中にホット キーになります。 アンパサンドは、アクティブ化される文字の前にあるため、ホット キー プレフィックスと呼ばれます。 HotkeyPrefixNone が StringFormat::SetHotkeyPrefix に渡された場合、ホット キー プレフィックスの処理は行われません。
例
次の例では、 StringFormat オブジェクトを作成し、文字列に対して実行されるホット キー プレフィックス処理の種類を設定します。 次に、 StringFormat オブジェクトを使用して、ホット キープレフィックス文字を含む文字列を描画します。 このコードでは、文字列のレイアウト四角形も描画されます。
VOID Example_SetHotkeyPrefix(HDC hdc)
{
Graphics graphics(hdc);
SolidBrush solidBrush(Color(255, 255, 0, 0));
FontFamily fontFamily(L"Times New Roman");
Font font(&fontFamily, 24, FontStyleRegular, UnitPixel);
StringFormat stringFormat;
stringFormat.SetHotkeyPrefix(HotkeyPrefixShow);
graphics.DrawString(
L"This &text has some &underlined characters.",
43, // string length
&font,
RectF(30, 30, 160, 200),
&stringFormat,
&solidBrush);
// Draw the rectangle that encloses the text.
Pen pen(Color(255, 255, 0, 0));
graphics.DrawRectangle(&pen, 30, 30, 160, 200);
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP、Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | gdiplusstringformat.h (Gdiplus.h を含む) |
Library | Gdiplus.lib |
[DLL] | Gdiplus.dll |