Операционная система Microsoft Windows 3.1 для программиста -том 1


Приложение KBMSG


Наше следующее приложение с названием KBMSG поможет вам "почувствовать" клавиатурные сообщения. Это приложение создает одно главное окно, функция которого обрабатывает все сообщения от клавиатуры. Для каждого сообщения в окно выводится символическое имя кода сообщения, параметры сообщения wParam и lParam, а также название виртуальной клавиши, определенное в драйвере клавиатуры.

В верхней части главного окна приложения расположены две строки заголовка отдельных полей параметров сообщения. В остальной части окна организован построчный вывод самих параметров сообщения со сверткой (рис. 5.9).

Рис. 5.9. Главное окно приложения KBMSG

В первом столбце выводится символическое имя полученного от клавиатуры сообщения, во втором - символ ANSI, соответствующий параметру wParam полученного сообщения, затем следуют значения wParam и lParam в шестнадцатеричном представлении, и в последнем столбце выводится имя виртуальной клавиши, полученное по коду клавиши от драйвера клавиатуры.

Помимо способов обработки сообщений клавиатуры приложение KBMSG демонстрирует использование свертки экрана и загрузку в контекст отображения системного шрифта с фиксированной шириной букв.

Функция WinMain приложения KBMSG определена в файле kbmsg.cpp (листинг 5.7).

Листинг 5.7. Файл kbmsg\kbmsg.cpp

// ---------------------------------------- // Просмотр сообщений от клавиатуры // ----------------------------------------

#define STRICT #include <windows.h> #include <mem.h>

BOOL InitApp(HINSTANCE); LRESULT CALLBACK _export WndProc(HWND, UINT, WPARAM, LPARAM);

char const szClassName[] = "KBMSGAppClass"; char const szWindowTitle[] = "KBMSG Application";

// ===================================== // Функция WinMain // ===================================== #pragma argsused

int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) { MSG msg; // структура для работы с сообщениями HWND hwnd; // идентификатор главного окна приложения




Начало  Назад  Вперед



Книжный магазин