Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода по ОАиП.doc
Скачиваний:
12
Добавлен:
11.05.2015
Размер:
3.21 Mб
Скачать

Создание окна

Класс окна определяет основные характеристики окна, что позволяет использовать один и тот же класс для создания множества различных окон.

Функция CreateWindowсоздает окно, детализируя информацию о нем, которая должна передаваться функции в качестве параметров:

hwnd = CreateWindow (szAppName, – имя класса окна;

"First Example", – заголовок окна;

WS_OVERLAPPEDWINDOW, – стиль окна;

CW_USEDEFAULT, – начальное положение по x

CW_USEDEFAULT, и по y;

CW_USEDEFAULT, – начальные размеры по x

CW_USEDEFAULT, и по y;

NULL, – описатель родительского окна;

NULL, – описатель меню окна;

hInstance, – описатель экземпляра программы;

NULL); – параметры создания.

Параметр «имя класса окна» – szAppNameсодержит строку «Hello», являющуюся именем зарегистрированного класса окна, этот параметр связывает окно с классом окна.

Окно, созданное программой, является обычным перекрывающимся окном с заголовком, системным меню слева на строке заголовка, иконками для сворачивания, разворачивания и закрытия окна.

WS_OVERLAPPEDWINDOW– стандартный «стиль окна»; «заголовок окна» – текст, который выводится в строке заголовка.

Параметры «начальное положение по xи поy» задают начальные координаты верхнего левого угла окна относительно левого верхнего угла экрана; идентификаторCW_USEDEFAULTзадает по умолчанию начальное положение для перекрывающегося окна; аналогично задаются значения параметров «начальные размеры поxи поy».

Поскольку у нашего окна отсутствует родительское окно, параметр «описатель родительского окна» – NULL; аналогично «описатель меню окна» –NULL(у окна нет меню).

В параметр «описатель экземпляра программы» помещается описатель экземпляра, переданный программе в качестве параметра функции WinMain.

Значение «параметры создания» установлено в NULL, при необходимости этот параметр используется в качестве указателя на данные, к которым программа в дальнейшем могла бы обратиться.

Функция CreateWindowвозвращает описатель созданного окна, который хранится в переменнойhwndтипа. У каждого окна вWindowsимеется его описатель, который используется для ссылки на это окно. При создании нескольких окон каждое из них имеет свой описатель, являющийся одним из важнейших, которыми оперирует программа дляWindows.

Для многих функций Windowsв качестве параметра требуетсяhwnd, благодаря чемуWindowsзнает, к какому окну применить эту функцию.

Отображение окна

К тому времени, когда функция CreateWindowвозвращает управление программе, окно уже создано внутриWindows, однако на экране монитора оно еще не появилось. Выводит окно на экран функция

ShowWindow(hwnd,iCmdShow);

параметр hwnd– описатель созданного окна; параметрiCmdShow– задает начальный вид окна на экране:SW_SHOWNORMAL(1) – на экран выводится обычное окно, фон рабочей области закрашивается заданной в классе окна кистью;SW_SHOWMINNOACTIVE(7) – окно не выводится, а на панели задач появляются его имя и иконка.

Функция UpdateWindow(hwnd); выполняет перерисовку рабочей области окна, посылая сообщениеWM_PAINTв оконную процедуру (WndProc).