Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovy_algoritmizatsii_i_programmirovania_-_Bat....doc
Скачиваний:
52
Добавлен:
25.12.2018
Размер:
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).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]