Компьютерные книги
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Графика -> Гончаров Д. -> "DirectX 7.0 Для программистов" -> 12

DirectX 7.0 Для программистов - Гончаров Д.

Гончаров Д., Салихо Т. DirectX 7.0 Для программистов — Спб.: Питер, 2001. — 528 c.
ISBN 5-318-00173-4
Скачать (прямая ссылка): dirext7dlyaprogrammistov2001.djvu
Предыдущая << 1 .. 6 7 8 9 10 11 < 12 > 13 14 15 16 17 18 .. 229 >> Следующая

Таблица 1.1. Способ отображения главного окна
Значение nCmdShow Способ отображения
SWSH0W Окно активируется, используя текущие значения размера и положения
SW_SHOWMINIMIZED Окно сворачивается (отображается в виде кнопки на панели задач)
SW_SHOWMAXIМIZED Окно разворачивается на весь экран
SW_HIDE Окно скрывается, и активизируется другое окно
SW_SH0WN0RMAL Окно активизируется и отображается на экране: если оно было развернуто или свернуто, то восстанавливается прежнее состояние
Функция WinMain должна вернуть целое значение. В случае наличия цикла выборки сообщений это должно быть поле структуры msg.wParam, иначе возвращается просто нуль (или не нуль). Спецификатор WINAPI в заголовке главной функции указывает на то, что используется способ вызова, принятый в Win32 API. Способы вызова отличаются, например, порядком передачи аргументов, и их соответствие принятым в операционной системе соглашениям очень важно.
В отличие от функции main, где минимальная программа может уместиться в одну строку, функция WinMain проделывает достаточно много работы, чтобы подготовить свое успешное выполнение. Для начала она определяет три переменных: WNDCLASSEX wndClass;HWND hWnd:MSG msg;
Первая из этих переменных представляет собой структуру, описывающую характеристики класса создаваемого окна. Вторая переменная служит для хранения дескриптора окна, а третья содержит сообщения, передаваемые программе.
Регистрация окна
Структура WNDCLASSEX характеризует класс окна, на базе которого будет формироваться окно нашей программы. Дело в том, что для любого окна в Windows при его создании необходимо указать так называемый класс окна — структуру, хранящуюся внутри операционной системы, которая задает основные характеристики поведения всех окон своего класса. В результате окна, созданные на базе одного класса, ведут себя достаточно однотипно. Однотипно, но не одинаково — отличительные особенности конкретного окна будут определены в момент его создания. В таблице 1.2 описаны значения полей структуры WNDCLASSEX.
После заполнения полей структуры WNDCLASSEX происходит ее регистрация при помощи вызова Register'dassEx. В качестве параметра эта функция получает адрес структуры WNDCLASSEX. С момента регистрации новый оконный класс становится известным операционной системе, и на его базе теперь можно создавать новые окна.
30
Урок 1 • Основы программирования на C/C++ для Windows 9X/NT
Таблица 1.2. Поля структуры WNDCLASSEX
Поле структуры Назначение поля
cbSize
style
1pfnWndProc
cbClsExtra,
cbWndExtra
hlnstance
HI con, hlconSm
hCursor
hbrBackground
IpszMenuName IpszClassName
Беззнаковое целое, в котором содержится размер структуры в байтах. Пропуск этого поля грозит серьезными последствиями
Беззнаковое целое, указывающее на стиль класса окна. Несколько стилей могут объединяться при помощи логической операции ИЛИ (|). Два самых распространенных стиля — CSHREDRAW и CSVREDRAW — указывают на необходимость перерисовки окна при изменении его ширины и высоты. Еще один важный стиль, CS DBLCLKS, позволяет окну, построенному на базе этого класса, обрабатывать двойные щелчки мыши
Указатель на вторую важную функцию Windows-приложения — оконную процедуру. Окна, созданные на базе одного класса, используют одну и ту же оконную процедуру. Именно поэтому прототип оконной процедуры был объявлен перед функцией WinMain
Могут указывать на количество дополнительных байтов, связанных с данным классом окна и конкретным окном соответственно. Используются достаточно редко
Дескриптор приложения, внутри которого располагается оконная процедура для класса окна. Именно здесь пригодится параметр функции WinMain — hlnst
Дескрипторы значков класса окна, большого и малого. Малый значок отображается в заголовке окна и на кнопке на панели задач. Для загрузки соответствующего ресурса используется функция Loadlcon с двумя параметрами: дескриптором приложения, содержащего значок, и имени ресурса этого значка. Если дескриптор равен NULL, как в нашем случае, используются стандартные значки. Возможные значения второго параметра для стандартных ресурсов — IDI APPLICATION, IDI_ASTERISK, IDI WARNING, IDI_WINL0G0 и др.
Дескриптор указателя мыши класса окна. Для загрузки соответствующего ресурса используется функция LoadCursor с параметрами, аналогичными функции Loadlcon. Если первый параметр равен NULL, то в качестве второго параметра могут использоваться стандартные ресурсы указателей мыши — IDCARROW, IDC CROSS, IDC IBEAM, IDC APPSTARTING, IDC_WAIT и др.
Дескриптор кисти, используя которую будет закрашиваться задний план окна, например, в случае объявления участка окна недействительной областью (Invalidate Region). Об основах GDI и кистях, как объектах GDI в частности, мы поговорим в следующем уроке
Указатель на заканчивающуюся нулем строку, содержащую имя ресурса меню. Равный NULL указывает на то, что в программе меню не используется
Указатель на заканчивающуюся нулем строку, содержащую имя вновь создаваемого класса окна. Это имя впоследствии будет использовано при вызове функции CreateWindowEx
Предыдущая << 1 .. 6 7 8 9 10 11 < 12 > 13 14 15 16 17 18 .. 229 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Завалишин Д. "Интернетско-русский разговорник" (Web-программирование)

Заенцев И.В. "Нейронные сети: основные модели" (Web-программирование)

Владимиров А.А. "Wi-фу: «боевые» приемы взлома и защиты беспроводных сетей" (Web-программирование)

Вьейра Р. "SQL Server 2000. Программирование в 2 ч." (Web-программирование)

Веллинг Л.Т. "Разработка web приложений с помощью php и mysql" (Web-программирование)
Авторские права © 2013 ComputersBooks. Все права защищены.

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed