Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Сообщение 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!» в центре рабочей области созданного окна.





Дата публикования: 2015-09-17; Прочитано: 226 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...