Сообщение WM_PAINT

Сообщение WM_PAINT – передает программе, что часть или вся рабочая область окна недействительна (invalid) и ее следует перерисовать.

При первом создании окна недействительна вся рабочая зона и сообщение WM_PAINT заставляет оконную процедуру рисовать в рабочей области, что происходит также и при изменении размера окна.

Обработка сообщения WM_PAINT почти всегда начинается вызовом:

hdc = BeginPaint (hwnd, &ps);

и заканчивается функцией

EndPaint (hwnd, &ps);

первый параметр в обеих функциях – описатель окна, второй – указатель на структуру типа PAINTSTRUCT, в которой содержится информация, необходимая оконной процедуре для рисования в рабочей области.

При обработке вызова BeginPaint обновляется фон рабочей области, заданной кистью; вся рабочая область становится действительной и возвращается описатель контекста устройства, описывающий физическое устройство вывода информации (дисплей) и его драйвер.

Функция EndPaint освобождает описатель контекста устройства, после чего его значение нельзя использовать.

Для определения размера рабочей области окна вызывается функция

GetClientRect (hwnd, &rect);

параметр rect – структура типа RECT (rectangle – прямоугольник), содержащая четыре поля типа LONG (left – левое, top – верх, right – правое, bottom – низ), в которые помещаются размеры рабочей области окна; поля left, top всегда устанавливаются в 0, поля right, bottom – ширина и высота рабочей области в пикселях.

Структура rect используется в качестве четвертого параметра функции отображения текста:

DrawText (hdc, "Hello, Windows !", –1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER);

второй параметр – отображаемый текст; третий параметр (–1) указывает, что строка текста заканчивается нулевым символом; последний параметр – набор флагов, значения которых указывают, что текст следует выводить в одну строку, по центру прямоугольной области размером, заданным в rect. Вызов этой функции отображает строку «Hello, Windows!» в центре рабочей области созданного окна.








Дата добавления: 2014-12-30; просмотров: 871;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.