Целочисленная константа в Windows состоит из 32 бит, но стилей определено ровно 16, и все они кодируются битами старшего слова параметра dwSty 1 е. Младшие 16 бит предназначены для того, чтобы разработчик приложения мог определить и использовать собственные стили. Эта возможность широко используется при создании графических элементов управления, которые будут рассмотрены позже.

Проект Minim, содержащий единственный файл Minim.cpp с рассмотренным выше текстом программы, находится в папке MINIM. Запустив его, можно увидеть созданное приложением окно и проверить реакцию программы на щелчки кнопками мыши.

Разработчики системы предусмотрели так много флагов, чтобы придать окну свойства на все вкусы. Но со временем появились новые потребности, а возможности вводить новые флаги нет, так как биты младшего слова параметра dwSty 1 е отданы приложениям. Поэтому в интерфейс API введена функция CreateWi ndowEx() с дополнительным первым параметром, который может содержать флаги, указывающие стиль окна. В частности, флаг WS_EX_T0PM0ST помещает окно поверх всех других окон, при открытии которых не было указано такого флага. Даже если окно, созданное с флагом WS_EX_T0PM0ST, теряет фокус, окно, получающее фокус ввода, оказывается под ним. Этот стиль удобен при выводе справочной информации об изображенном в окне элементе. Иногда приложению необходимо отдать весь экран и видеопамять как неразделяемый ресурс и запретить вывод на экран другим приложениям и операционной системе. В этом случае кроме задания полноэкранного режима

Создание простейшего приложения

средствами библиотеки DirectX (или функцией ChangeDisplaySetting( ) с флагом CDS_FULLSCREEN) желательно открывать окно при помощи CreateWi ndowEx( ) с флагом WS_EX_T0PM0ST в параметре dwExStyle.

Для регистрации оконных классов мы будем также использовать функцию Régi sterol assEx( &wc ) в сочетании со структурой WNDCLASSEX wc. Эта структура содержит два дополнительных поля. Поле\с.п1соп5т = LoadIcon(NULL.IDI_QUESTION) задает второй (малый) значок. Именно он будет показан в заголовке окна. Большую пиктограмму, задаваемую полем wc.hlcon, можно будет увидеть только при переключении приложений. Поле wc.cbSize = sizeof (WNDCLASSEX) задает размер структуры в байтах. Обычно добавление такого поля мотивируется упрощением модификации функций, получающих структуру в качестве параметра. При развитии системы опять может потребоваться добавление в WNDCLASSEX новых полей. В этом случае значение поля wc. cbSi ze позволит системным программам определять версию полученной структуры.


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