StringFormat::GetHotkeyPrefix メソッド (gdiplusstringformat.h)
StringFormat::GetHotkeyPrefix メソッドは、ホット キー プレフィックスアンパサンド (&) が検出されたときに文字列に対して実行される処理の種類を示す HotkeyPrefix 列挙の要素を取得します。
構文
HotkeyPrefix GetHotkeyPrefix();
戻り値
種類: HotkeyPrefix
このメソッドは、文字列に対して実行されるホット キー プレフィックス処理の種類を示す HotkeyPrefix 列挙の要素を返します。
注釈
ホット キー (アクセス キーとも呼ばれます) は、エンド ユーザーに機能へのキーボード ショートカットを提供するようにプログラムされ、Alt キーを押してアクティブ化されるキーです。 キーはアプリケーションに依存し、アンダースコア付きの文字 (通常はメニュー名またはメニュー項目) で識別されます。たとえば、Alt キーを押すと、[ ファイル ] メニューの文字 F がアンダースコアで表示されます。 F キーは、[ ファイル ] メニューを表示するためのショートカットです。
クライアント プログラマは、アプリケーションでホット キー プレフィックスアンパサンド (&) を使用し、通常はメニューまたはメニュー内の項目の名前として表示される文字列でホット キーを指定し、 StringFormat::SetHotkeyPrefix メソッドを使用して適切な種類の処理を設定します。 文字列内の文字の前にアンパサンドが付いている場合、文字に対応するキーは、文字列が表示デバイスに描画されるときに発生する処理中にホット キーになります。 アンパサンドは、アクティブ化される文字の前にあるため、ホット キー プレフィックスと呼ばれます。 HotkeyPrefixNone が StringFormat::SetHotkeyPrefix に渡された場合、ホット キー プレフィックスの処理は行われません。
例
次の例では、 StringFormat オブジェクトを作成し、文字列に対して実行されるホット キー プレフィックス処理の種類を設定し、処理の種類を取得して変数に格納します。 次に、コードは 2 番目の StringFormat オブジェクトを作成し、格納されている値を使用して、2 番目の StringFormat オブジェクトのホット キー プレフィックス処理の種類を設定します。 このコードでは、2 番目の StringFormat オブジェクトを使用して、ホット キープレフィックス文字を含む文字列を描画します。 このコードでは、文字列のレイアウト四角形も描画されます。
VOID Example_GetHotkeyPrefix(HDC hdc)
{
Graphics graphics(hdc);
SolidBrush solidBrush(Color(255, 255, 0, 0));
FontFamily fontFamily(L"Times New Roman");
Font font(&fontFamily, 24, FontStyleRegular, UnitPixel);
// Create a StringFormat object, and set its hot key prefix.
StringFormat stringFormat;
stringFormat.SetHotkeyPrefix(HotkeyPrefixShow);
// Get the hot key prefix from the StringFormat object.
HotkeyPrefix hotkeyPrefix = stringFormat.GetHotkeyPrefix();
// Create a second StringFormat object with the same hot key prefix.
StringFormat stringFormat2;
stringFormat2.SetHotkeyPrefix(hotkeyPrefix);
// Use the second StringFormat object in a call to DrawString.
graphics.DrawString(
L"This &text has some &underlined characters.",
43, // string length
&font,
RectF(30, 30, 160, 200),
&stringFormat2,
&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 |