Операционные системы. Программирование в операционной среде Windows

47 При создании окна определяется заголовок окна, координаты, размер окна и др. // Создание окна HWND hWnd; // дескриптор окна hWnd = GreateWindowEx ( О,(LPCWSTR)szWinName, // имя "класса" окна (LPCWSTR)"Демонстрационный пример", // заголовок окна WS_OVERLAPPEDWINDOW, // стиль: стандартное окно CW_USEDEFAULT, // координата X - по умолчанию CW_USEDEFAULT, // координата Y - по умолчанию CW_USEDEFAULT, // ширина - по умолчанию CW_USEDEFAULT, // высота - по умолчанию HWND_DESKTOP, // родительского окна нет NULL, // меню нет hThisInst, // дескриптор данного экземпляра приложения NULL // дополнительных аргументов нет ) ; // Отображение окна ShowWindow(hWnd, nWinMode); Функция CreateWindowQ создает графический образ окна, но не отображает окно на экране. При успешном завершении функция возвраш,ает дескриптор созданного окна, в противном случае возвраш,ается значение NULL. После отображения окна нужно организовать цикл обработки сообщений. В этом цикле постоянно опрашивается очередь сообш,ений приложения, в которую ОС Windows посылает сообш,ения о событиях в окне приложения. //Цикл опроса очереди сообщений while (GetMessage(&msg, NULL, О, 0)) { TranslateMessage(&msg); // разрешает использование клавиатуры DispatchMessage (&msg); // возвраш;ает управление Windows } Функция GetMessageQ извлекает очередное необработанное сообш,ение из очереди сообш,ений приложения и копирует его в структуру msg. Параметр NULL указывает на то, что функция должна принимать любые сообш,ения, поступаюш,ие любому окну приложения. Два последних параметра, равные О, означают, что не нужно фильтровать сообщения. Фильтры сообш,ений можно использовать для того, чтобы ограничить прием только теми сообш,ениями, которые попадают в определенную категорию, например сообш,ения от клавиатуры или сообш,ения от мыши. Функция GetMessage() только в одном случае возвращает значение FALSE, когда она получает сообщение WM QUIT о завершении программы. Это приводит к завершению цикла обработки сообщений. Функция DispatchMessageQ возвращает сообщение ОС Windows. ОС в удобное для нее время вызывает функцию окна приложения, аргументом

RkJQdWJsaXNoZXIy MTY0OTYy