StringFormat::GetHotkeyPrefix 方法 (gdiplusstringformat.h)
StringFormat::GetHotkeyPrefix 方法获取 HotkeyPrefix 枚举的元素,该元素指示遇到热键前缀和 (&) 时对字符串执行的处理类型。
语法
HotkeyPrefix GetHotkeyPrefix();
返回值
类型: HotkeyPrefix
此方法返回 HotkeyPrefix 枚举的元素,该元素指示对字符串执行的热键前缀处理的类型。
注解
热键也称为访问键,是经过编程的键,为最终用户提供键盘功能快捷方式,并通过按 Alt 键激活。 键依赖于应用程序,由下划线字母标识,通常位于菜单名称或菜单项中;例如,按 Alt 时, “文件 ”菜单的字母 F 将下划线。 F 键是显示“ 文件 ”菜单的快捷方式。
客户端程序员通过在通常显示为菜单名称或菜单中项的字符串中使用热键前缀和号 (&) 指定应用程序中的热键,并使用 StringFormat::SetHotkeyPrefix 方法设置适当的处理类型。 当字符串中的字符前面有一个和号时,在处理期间,对应于该字符的键将成为一个热键,该处理是在显示设备上绘制字符串时发生的。 和号称为热键前缀,因为它位于要激活的字符之前。 如果将 HotkeyPrefixNone 传递给 StringFormat::SetHotkeyPrefix,则不会处理热键前缀。
示例
以下示例创建 StringFormat 对象,设置要对字符串执行的热键前缀处理的类型,然后获取处理类型并将其存储在变量中。 然后,该代码创建第二个 StringFormat 对象,并使用存储的值为第二个 StringFormat 对象设置热键前缀处理的类型。 代码使用第二个 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 |
另请参阅
StringFormat