Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ch-10.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
681.98 Кб
Скачать

Некоторые правила назначения быстрых клавиш

Теоретически можно определить быструю клавиши почти для каждой виртуальной или символьной клавиши в сочетании с клавишами <Shift>, <Ctrl> или <Alt>. Однако надо попытаться добиться какого-то соответствия с другими приложениями и избегать применения тех клавиш, которые использует Windows. Нежелательно назначать быстрыми клавишами клавиши <Tab>, <Enter>, <Esc>, <Spacebar>, поскольку они часто используются для системных функций.

Наиболее часто с быстрыми клавишами работают в меню Edit. Рекомендуемые быстрые клавиши для этих пунктов меню различаются у версий Windows 3.0 и Windows 3.1, поэтому следует обеспечить поддержку как старых, так и новых быстрых клавиш, показанных в следующей таблице:

Функция

Быстрые клавиши старые

Быстрые клавиши новые

Undo (отменить)

<Alt>+<Backspace>

<Ctrl>+<Z>

Cut (вырезать)

<Shift>+<Del>

<Ctrl>+<X>

Copy (копировать)

<Ctrl>+<Ins>

<Ctrl>+<C>

Paste (вставить)

<Shift>+<Ins>

<Ctrl>+<V>

Delete или Clear (удалить или очистить)

<Del>

<Del>

Другой известной быстрой клавишей является клавиша <F1> для вызова подсказки. Избегайте применения клавиш <F4>, <F5> и <F6>, поскольку они часто используются для специальных функций многооконного интерфейса приложений (Multiple Document Interface, MDI), о котором рассказывается в главе 18.

Таблица быстрых клавиш

Быстрые клавиши определяются в файле описания ресурсов (файл с расширением .RC). Здесь показана общая форма определения:

MyAccelerators ACCELERATORS

{

[определения быстрых клавиш]

}

Эта таблица быстрых клавиш называется MyAccelerators. В таблицу ACCELERATORS не включаются опции загрузки и памяти. В файле описания ресурсов можно иметь несколько таблиц ACCELERATORS.

Для каждой определяемой быстрой клавиши необходима отдельная строка таблицы. Имеется четыре типа определений быстрых клавиш:

"char", id [,<SHIFT>] [,CONTROL] [,<ALT>]

"^char", id [,<SHIFT>] [,CONTROL] [,<ALT>]

nCode, id, ASCII [,<SHIFT>] [,CONTROL] [,<ALT>]

nCode, id, VIRTKEY [,<SHIFT>] [,CONTROL] [,<ALT>]

В этих примерах "char" означает один символ, заключенный в кавычки, а "^char" — это символ ^ и один символ, заключенный в кавычки. Число id выполняет ту же функцию, что и идентификатор меню в определении меню. Это значение, которое Windows посылает вашей оконной процедуре в сообщении WM_COMMAND для идентификации быстрой клавиши. Обычно эти идентификаторы определяются в заголовочном файле. Быстрые клавиши почти всегда служат для выбора опций из всплывающих меню. Если быстрая клавиша дублирует команду меню, используйте один и тот же идентификатор для меню и для быстрой клавиши. Если быстрая клавиша не дублирует команду меню, используйте уникальный идентификатор.

В первом типе определения идентификатора быстрая клавиша — это чувствительный к регистру символ в кавычках:

"char", id [,<SHIFT>] [,CONTROL] [,<ALT>]

Если вы хотите использовать эту клавишу в сочетании с одной или более клавишами <Shift>, <Ctrl> и <Alt>, просто добавьте SHIFT, CONTROL и/или ALT.

В определении второго типа быстрая клавиша — это символ в сочетании с клавишей <Ctrl>:

"^char", id [,<SHIFT>] [,CONTROL] [,<ALT>]

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

В определениях третьего и четвертого типов вместо символа в кавычках используется число (nCode):

nCode, id, ASCII [,<SHIFT>] [,CONTROL] [,<ALT>]

nCode, id, VIRTKEY [,<SHIFT>] [,CONTROL] [,<ALT>]

Это число интерпретируется либо как чувствительный к регистру ASCII-код символа, либо как код виртуальной клавиши, в зависимости от наличия ключевого слова ASCII или VIRTKEY.

Наиболее часто используются определения быстрых клавиш второго и четвертого типа. В определении второго типа буквенная клавиша используется в сочетании с клавишей <Ctrl>. Например, здесь определяется быстрая клавиша <Ctrl>+<A>:

"^A", id

Определение четвертого типа используется для виртуальных кодов клавиш, таких как функциональные клавиши. Для комбинации <Ctrl>+<F9> используется следующее определение:

VK_F9, wid, VIRTKEY, CONTROL

Идентификатор VK_F9 определяется в заголовочных файлах Windows в качестве виртуального кода клавиши <F9>, поэтому, вы должны включить в программу в начале файла описания ресурсов инструкцию:

#include <windows.h>

Приведенные выше определения первого и третьего типов применяются редко. Если вы хотите их использовать, внимательно контролируйте чувствительность к регистру. Windows осуществляет чувствительный к регистру контроль совпадения "char" или nCode, основываясь на нажатой клавише. Если вы добавляете ключевое слово SHIFT, Windows контролирует, нажата или нет клавиша <Shift>. Эта ситуация иногда приводит к неожиданному результату. Например, если "char" — это "А", то быстрая клавиша срабатывает, если нажата клавиша <А> или при нажатой клавише <Shift> или при включенном режиме Caps Lock. Если вы используете "А" с ключевым словом SHIFT, то быстрая клавиша активизируется, если нажата клавиша <А> при нажатой клавише <Shift>, но не должна вызываться при включенном режиме Caps Lock. Точно также "а" — сама по себе является быстрой клавишей для клавиши <А> нижнего регистра или для клавиши <А> с нажатой клавишей <Shift> и включенном режиме Caps Lock. Но "а" с ключевым словом SHIFT является быстрой клавишей только в одном случае, если клавиша <Shift> нажата, а Caps Lock включен.

При определении быстрых клавиш для пунктов меню необходимо включить описание комбинации быстрых клавиш в текст соответствующего пункта меню. Символ табуляции (\t) разделяет текст и описание быстрой клавиши так, чтобы описание быстрых клавиш располагалось во втором столбце. При наличии слов Shift, Ctrl или Alt после них пишется знак плюс и собственно клавиша. Например:

  • F6

  • Shift+F6

  • Ctrl+F6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]