На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Accelerators and Menus



Using an accelerator is the same as choosing a menu item: Both actions cause Windows to send a WM_COMMAND or WM_SYSCOMMAND message to the corresponding window procedure. The WM_COMMAND message includes an identifier that the window procedure examines to determine the source of the message. If an accelerator generated the WM_COMMAND message, the identifier is that of the accelerator. Similarly, if a menu item generated the WM_COMMAND message, the identifier is that of the menu item. Because an accelerator provides a shortcut for choosing a command from a menu, an application usually assigns the same identifier to the accelerator and the corresponding menu item.

An application processes an accelerator WM_COMMAND message in exactly the same way as the corresponding menu item WM_COMMAND message. However, the WM_COMMAND message contains a flag that specifies whether the message originated from an accelerator or a menu item, in case accelerators must be processed differently from their corresponding menu items. The WM_SYSCOMMAND message does not contain this flag.
The identifier determines whether an accelerator generates a WM_COMMAND or WM_SYSCOMMAND message. If the identifier has the same value as a menu item in the System menu, the accelerator generates a WM_SYSCOMMAND message. Otherwise, the accelerator generates a WM_COMMAND message.

If an accelerator has the same identifier as a menu item and the menu item is grayed or disabled, the accelerator is disabled and does not generate a WM_COMMAND or WM_SYSCOMMAND message. Also, an accelerator does not generate a command message if the corresponding window is minimized.
When the user uses an accelerator that corresponds to a menu item, the window procedure receives the WM_INITMENU and WM_INITMENUPOPUP messages as though the user had selected the menu item. For information about how to process these messages, see Menus.

An accelerator that corresponds to a menu item should be included in the text of the menu item.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Акселераторы и Меню



Использование акселератора такое же как и выбирая пункт меню: Оба действия заставляют Windows, чтобы посылать WM_COMMAND или сообщение WM_SYSCOMMAND в соответствующую процедуру окна. Сообщение WM_COMMAND включает идентификатор, что процедура окна изучает, чтобы определять источник сообщения. Если акселератор генерировал бы сообщение WM_COMMAND, идентификатор является тем самым акселератором. Аналогично, если пункт меню генерировал бы сообщение WM_COMMAND, идентификатор является тем самым пунктом меню. Поскольку акселератор обеспечивает сокращенный для выбора команды из меню, приложение обычно назначает тем же идентификатором на акселератор и соответствующий пункт меню.

Приложение обрабатывает сообщение акселератора WM_COMMAND в точно том же пути как соответствующий пункт сообщения меню WM_COMMAND. Тем не менее, сообщение WM_COMMAND содержит флаг, который определяет независимо сообщение порожденное с акселератора или пункт меню, в случае, если акселераторы должны обрабатываться иначе из их соответствующих пунктов меню. Сообщение WM_SYSCOMMAND не содержит этот флаг.
Идентификатор определяет генерирует акселератор WM_COMMAND или сообщение WM_SYSCOMMAND. Если идентификатор имеет ту же величину как пункт меню в меню Системы, акселератор генерирует сообщение WM_SYSCOMMAND. В противном случае, акселератор генерирует сообщение WM_COMMAND.

Если акселератор имеет тот же идентификатор как пункт меню и пункт меню grayed или выведен из строя, акселератор выведен из строя и не сгенерирован WM_COMMAND или сообщение WM_SYSCOMMAND. Также, акселератор не генерирует командное сообщение если соответствующее окно минимизировано.
Когда пользователь использует акселератор, который переписывается в пункт меню, процедура окна получает WM_INITMENU и сообщения WM_INITMENUPOPUP как если бы пользователь выбрался пункт меню. Для информации соберитесь обрабатывать эти сообщения, смотри Меню.

Акселератор, который переписывается в пункт меню должно быть включено в текст пункта меню.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz