Шаг 43 - CreateWindow()

Данная функция используется для создания окна приложения:

HWND CreateWindow
(
	LPCTSTR lpClassName,	// имя класса окна
	LPCTSTR lpWindowName,	// заголовок окна
	DWORD dwStyle,		// стиль окна
	int x,			// горизонтальная позиция окна
	int y,			// вертикальная позиция окна
	int nWidth,		// ширина окна
	int nHeight,		// высота окна
	HWND hWndParent,		// указатель на родительское окно
	HMENU hMenu,		// указатель на меню
	HINSTANCE hInstance,	// указатель на приложение создающее окно
	LPVOID lpParam		// дополнительные параметры
);

Для того, чтобы создать окно, класс окна необходимо сначала зарегистрировать. Это делается функцией RegisterClass(). О этой функции смотрите "Шаг 39 - RegisterClass()". Вторая строка - это просто заголовок окна. Он может быть в последствии изменен. Следующий параметр - это стиль окна. Смотрите "Подробности - Стили окна". Дальше идут координаты окна относительно монитора, высота и ширина окна, эти параметры можно не указывать используя CW_USEDEFAULT, полагаясь на Windows. В нем есть некоторый алгоритм расположения окон. Указатель на родительское окно в случае, если у окна есть родитель. Дело в том, что одной и той же функцией создаются как главные окна, так и подчиненные, такие как диалоговые окна. Вообщем все окна windows создаются одной и той же функцией, различие только в стилях окон. Дальше нужен указатель на меню связанное с окном. Создавая окно, нужно указать идентификатор приложения его создавшего. Этот идентификатор идет как параметр WinMain(). Смотрите "Подробности - Флаги атрибутов файлов для CComboBox". Перед тем, как завершить создание окна посылается сообщение WM_CREATE в процедуру обработки окна.

После завершения работы эта функция вернет идентификатор окна HWND. Этот идентификатор является уникальным и он теперь будет характеризовать наше окно.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 8.01.2001