|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
Creating the Accelerator-Table Resource
You create an accelerator-table resource by using the ACCELERATORS statement in your application's resource-definition file. You must assign a name or resource identifier to the accelerator table, preferably unlike that of any other resource. Windows uses this identifier to load the resource at run time.
Each accelerator you define requires a separate entry in the accelerator table. In each entry, you define the keystroke (either an ASCII character code or virtual-key code) that generates the accelerator and the accelerator's identifier. You must also specify whether the keystroke must be used in some combination with the ALT, SHIFT, or CTRL keys. For more information about virtual keys, see Keyboard Input. An ASCII keystroke is specified either by enclosing the ASCII character in double quotation marks or by using the integer value of the character in combination with the ASCII flag. The following examples show how to define ASCII accelerators.
"A", ID_ACCEL1 ; SHIFT+A 65, ID_ACCEL2, ASCII ; SHIFT+A
A virtual-key code keystroke is specified differently depending on whether the keystroke is an alphanumeric key or a non-alphanumeric key. For an alphanumeric key, the key's letter or number, enclosed in double quotation marks, is combined with the VIRTKEY flag. For a non-alphanumeric key, the Windows virtual-key code for the specific key is combined with the VIRTKEY flag. The following examples show how to define virtual-key code accelerators.
"a", ID_ACCEL3, VIRTKEY ; A (caps-lock on) or a VK_INSERT, ID_ACCEL4, VIRTKEY ; INSERT key
The following example shows an accelerator-table resource that defines accelerators for file operations. The name of the resource is FileAccel.
FileAccel ACCELERATORS BEGIN VK_F12, IDM_OPEN, CONTROL, VIRTKEY ; CTRL+F12 VK_F4, IDM_CLOSE, ALT, VIRTKEY ; ALT+F4 VK_F12, IDM_SAVE, SHIFT, VIRTKEY ; SHIFT+F12 VK_F12, IDM_SAVEAS, VIRTKEY ; F12 END
If you want the user to press the ALT, SHIFT, or CTRL keys in some combination with the accelerator keystroke, specify the ALT, SHIFT, and CONTROL flags in the accelerator's definition. Following are some examples.
"B", ID_ACCEL5, ALT ; ALT_SHIFT+B "I", ID_ACCEL6, CONTROL, VIRTKEY ; CTRL+I VK_F5, ID_ACCEL7, CONTROL, ALT, VIRTKEY ; CTRL+ALT+F5
By default, when an accelerator key corresponds to a menu item, Windows highlights the menu item. You can use the NOINVERT flag to prevent highlighting for an individual accelerator. The following example shows how to use the NOINVERT flag.
VK_DELETE, ID_ACCEL8, VIRTKEY, SHIFT, NOINVERT ; SHIFT+DELETE
To define accelerators that correspond to menu items in your application, include the accelerators in the text of the menu items. The following example shows how to include accelerators in menu-item text in a resource-definition file.
FilePopup MENU BEGIN POPUP "&File" BEGIN MENUITEM "&New..", IDM_NEW MENUITEM "&Open\tCtrl+F12", IDM_OPEN MENUITEM "&Close\tAlt+F4" IDM_CLOSE MENUITEM "&Save\tShift+F12", IDM_SAVE MENUITEM "Save &As...\tF12", IDM_SAVEAS END END
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Создание Ресурса Accelerator-Table
Вы создаете акселератор-табличный ресурс используя утверждение АКСЕЛЕРАТОРОВ в вашем прикладном ресурсе-определении файла. Вы должны назначить имя или идентификатор ресурса на стол акселератора, предподтительно в отличие от того же самого любого другого ресурса. Окно использует этот идентификатор, чтобы загружать ресурс во времени выполнения.
Каждый акселератор, который Вы определяете требует отдельный вход на столе акселератора. На каждом входе, Вы определяете нажатие клавиши (или ASCII символьный кодовый или виртуальный-ключевой код), что генерирует акселератор и идентификатор акселератора. Вы должны также определить должно нажатие клавиши быть использовано в некоторой комбинации с ALT, СДВИГОМ, или клавишами CTRL. Более подробно о виртуальных клавишах, смотри Ввод Данных с клавиатуры. Нажатие клавиши ASCII определено или прилагая символ ASCII в двойных кавычках или используя величину целого символа в комбинации с флагом ASCII. Следующие примеры показывают как, чтобы определять акселераторы ASCII.
"", ID_ACCEL1; SHIFT+A 65, ID_ACCEL2, ASCII; SHIFT+A
Виртуальное-ключевое кодовое нажатие клавиши определяется иначе или нажатие клавиши - текстовая клавиша или не-текстовая клавиша. Для текстовой клавиши, ключевое письмо или число, приложенные в двойных кавычках, объединен флагом VIRTKEY. Для не-текстовой клавиши, Windows виртуальный-ключевой код для специфической клавиши объединен флагом VIRTKEY. Следующие примеры показывают как, чтобы определять виртуальные-ключевые кодовые акселераторы.
"", ID_ACCEL3, VIRTKEY; (Колпачки-блокировка на) или VK_INSERT, ID_ACCEL4, VIRTKEY; КЛАВИША INSERT
Следующий пример показывает акселератор-табличный ресурс, который определяет акселераторы для файловых операций. Имя ресурса - FileAccel.
АКСЕЛЕРАТОРЫ FileAccel НАЧИНАЮТСЯ VK_F12, IDM_OPEN, УПРАВЛЕНИЕ, VIRTKEY; CTRL+F12 VK_F4, IDM_CLOSE, ALT, VIRTKEY; ALT+F4 VK_F12, IDM_SAVE, СДВИГ, VIRTKEY; SHIFT+F12 VK_F12, IDM_SAVEAS, VIRTKEY; КОНЕЦ F12
Если Вы хотите, чтобы пользователь нажимал ALT, СДВИГ, или клавиши CTRL в некоторой комбинации с нажатием клавиши акселератора, определите ALT, СДВИГ, и флаги УПРАВЛЕНИЯ в определении акселератора. Следующее является некоторыми примерами.
"B", ID_ACCEL5, ALT; ALT_SHIFT+B "Я", ID_ACCEL6, УПРАВЛЕНИЕ, VIRTKEY; CTRL+I VK_F5, ID_ACCEL7, УПРАВЛЕНИЕ, ALT, VIRTKEY; CTRL+ALT+F5
По умолчанию, когда клавиша акселератора переписывается в пункт меню, Windows выделяет пункт меню. Вы можете использовать флаг NOINVERT, чтобы предотвращать выделяться для индивидуального акселератора. Следующий пример показывает как, чтобы использовать флаг NOINVERT.
VK_DELETE, ID_ACCEL8, VIRTKEY, SHIFT, NOINVERT; SHIFT+DELETE
Для того, чтобы определять акселераторы, которые переписываются в пункты меню в вашем приложении, включите акселераторы в текст пунктов меню. Следующий пример показывает как, чтобы включать акселераторы в меню-пункт текста в ресурсе-определении файла.
МЕНЮ FilePopup НАЧИНАЕТСЯ ВЫСВЕЧИВАНИЕ "&Файл" НАЧИНАЮТСЯ MENUITEM "&НОВЫЙ..", IDM_NEW MENUITEM "&Open\tCtrl+F12", IDM_OPEN MENUITEM "&Close\tAlt+F4" IDM_CLOSE MENUITEM "&Save\tShift+F12", IDM_SAVE MENUITEM "Сохраняемый &Как...\tF12", КОНЕЧНЫЙ КОНЕЦ IDM_SAVEAS
|
|
|
|
| |