StringFormat::SetHotkeyPrefix 方法 (gdiplusstringformat.h)

StringFormat::SetHotkeyPrefix 方法设置在遇到热键前缀和 (&) 时对字符串执行的处理类型。 和号称为热键前缀,可用于将某些键指定为热键。

语法

Status SetHotkeyPrefix(
  [in] HotkeyPrefix hotkeyPrefix
);

参数

[in] hotkeyPrefix

类型: HotkeyPrefix

HotkeyPrefix 枚举的元素,指定如何处理热键前缀。

返回值

类型: 状态

如果方法成功,则返回 Ok,这是 Status 枚举的元素。

如果 方法失败,它将返回 Status 枚举的其他元素之一。

注解

热键也称为访问键,是经过编程的键,为最终用户提供键盘功能快捷方式,并通过按 Alt 键激活。 键依赖于应用程序,由下划线字母标识,通常位于菜单名称或菜单项中;例如,按 Alt 时, “文件 ”菜单的字母 F 将下划线。 F 键是显示“ 文件 ”菜单的快捷方式。

客户端程序员通过在通常显示为菜单名称或菜单中项的字符串中使用热键前缀和号 (&) 指定应用程序中的热键,并使用 StringFormat::SetHotkeyPrefix 方法设置适当的处理类型。 当字符串中的字符前面有一个和号时,在处理期间,对应于该字符的键将成为一个热键,该处理是在显示设备上绘制字符串时发生的。 和号称为热键前缀,因为它位于要激活的字符之前。 如果将 HotkeyPrefixNone 传递给 StringFormat::SetHotkeyPrefix,则不会处理热键前缀。

注意 术语 热键 在此处与 术语访问密钥同义。 术语 热键 在其他 Windows API 中可能具有不同的含义。
 

示例

以下示例创建 一个 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

另请参阅

HotkeyPrefix

StringFormat

StringFormat::GetHotkeyPrefix