HWND menuWnd: if (wParam-MSGF_MENU) {
menuWnd - (HWND)lParam: switch(Demo) {

case 1: //Демонстрация включения пункта Save

Del ay(1500): //После паузы в окно меню посылается 0x28 -SendMessage(menuWnd.WM_KEYDOWN.0x28.0x1500001): //код стрелки вниз. Delау(1500): //После второй паузы передается Oxd - код клавиши Enter PostMessage(menuWnd.WM_KEYDOWN.Oxd.0x1500001):

break:

case 2: //Демонстрация включения пункта Save Delay(1500):

PostMessage(menuWnd.WM_LBUTT0ND0WN,0.0): break: case 3:

//Выбор пункта Обучение активирует подменю Work для пуска колеса PrintString(hWnd.10.1,"Для пуска движения колеса"): PrintString(hWnd.10.2."необходимо вызвать подменю Work"):

//Вывод пояснений

Delay(2000);

SendMessage(menuWnd.WM_KEYDOWN,0x28.0x1500001): //0x28 - стрелка вниз

PrintStringChWnd.10.1."Переместить курсор на пункт Graphics"): Delay(2000):

SendMessage(menuWnd.WM_KEYDOWN,Oxd.0x1500001): //Oxd - Enter PrintString(hWnd.l0.1.''Щелкнуть левой кнопкой мыши"); Demo - 4; Взаимодействие меню и приложения

SetTimerChWnd.10.4000.0); return;

//После пуска колеса нужно выйти из оконной процедуры, иначе она не сможет //получать сообщения таймера 1 и перемещать изображение.

case 4: //Подменю Work вызвано по таймеру 10 для останова колеса Pr1ntString(hWnd.l0.l.

"Для останова колеса вызывается то же подменю");

Delay(2000);
SendMessageCmenuWnd.WMJCEYDOWN.0x28.0x1500001);

PrintStringChWnd.10.1."Повторный выбор пункта Graphics");

PrintStringChWnd.10.2."останавливает колесо");

Delay(1500);
SendMessageCmenuWnd.WM_KEYDOWN.Oxd.0x1500001);

PrintStringChWnd.10.1." "); //Очистка области подсказок break; }

Demo - 0; Программа обучения завершена - устанавливаем рабочий режим }

}

Теперь нужно запустить проект и несколько раз нажать на клавиши. По кодам, выводимым при этом в область сообщений, можно сделать несколько выводов. Прежде всего становится понятно, что у каждой клавиши только один виртуальный код. При нажатии клавиши А в русском и английском регистрах в сочетании с клавишей Ctrl или Shift всегда выводится код 0x41. В стандартной клавиатуре предполагалось иметь одну клавишу Ctrl, поэтому обе клавиши Ctrl и правая клавиша Alt имеют одинаковые коды. Левая клавиша Alt вообще не порождает сообщений WMJCEYDOWN, WMJCEYUP.


⇐ Предыдущая| |Следующая ⇒