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


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

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

Синтаксис

HotkeyPrefix GetHotkeyPrefix();

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

Тип: HotkeyPrefix

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

Комментарии

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

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

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

Примеры

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

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

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

Stringformat