Поделиться через


Метод StringFormat::SetHotkeyPrefix (gdiplusstringformat.h)

Метод StringFormat::SetHotkeyPrefix задает тип обработки, выполняемой в строке при обнаружении префикса горячего ключа амперсанда (&). Амперсанд называется префиксом горячего ключа и может использоваться для обозначения определенных ключей как горячих клавиш.

Синтаксис

Status SetHotkeyPrefix(
  [in] HotkeyPrefix hotkeyPrefix
);

Параметры

[in] hotkeyPrefix

Тип: HotkeyPrefix

Элемент перечисления HotkeyPrefix , указывающий способ обработки префикса горячего ключа.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Комментарии

Горячие клавиши, также называемые клавишами доступа, — это клавиши, которые программируются для предоставления пользователю сочетаний клавиш для функциональных возможностей и активируются нажатием клавиши ALT. Ключи зависят от приложения и идентифицируются символом подчеркивания, как правило, в имени меню или пункте меню; Например, при нажатии клавиши ALT буква F в меню Файл подчеркивается. Клавиша F — это ярлык для отображения меню Файл .

Клиентский программист назначает горячий ключ в приложении, используя префикс горячего ключа, амперсанд (&), в строке, которая обычно отображается в качестве имени меню или элемента в меню, и с помощью метода StringFormat::SetHotkeyPrefix , чтобы задать соответствующий тип обработки. Когда символу в строке предшествует амперсанд, ключ, соответствующий символу, становится горячей клавишей во время обработки, которая происходит при нарисовке строки на устройстве отображения. Амперсанд называется префиксом горячего ключа, так как он предшествует активированному символу. Если hotkeyPrefixNone передается в StringFormat::SetHotkeyPrefix, обработка префикса горячего ключа не происходит.

Примечание Термин "горячий ключ " здесь используется как синоним термина "ключ доступа". Термин "горячий ключ" может иметь другое значение в других API Windows.
 

Примеры

В следующем примере создается объект 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 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusstringformat.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Горячая клавишаПрефикс

Stringformat

StringFormat::GetHotkeyPrefix