Они существуют, чтобы помочь снизить
Они существуют, чтобы помочь снизить загрузку из-за необходимости указывать эти атрибуты при каждом вызове функций GDI.
Когда программе нужно отрисовать что-нибудь, она должна получить хэндл контекста устройства. Как правило, есть несколько путей достигнуть этого.
Вызовите BeginPaint в ответ на сообщение WM_PAINT. Вызовите GetDC в ответ на другие сообщения. Вызовите CreateDC, чтобы создать ваш собственный контекст устройства.
Вы должны помнить одну вещь. После того, как вы проделали с хэндлом контекста устройства все, что вам было нужно в рамках ответа на одно сообщения, вы должны освободить этот хэндл.
Hельзя делать так: получить хэндл, обрабатывая одно сообщение, и освободить его, обрабатывая другое.
Windows посылает сообщение WM_pAINT окну, чтобы уведомить его о том, что настало время для перерисовки клиентской области. Windows не сохраняет содержимое клиентской части окна. Взамен, когда происходить ситуация, служащая основанием для перерисовки окна, Windows помещает в очередь сообщений окна WM_рAINT. Окно должно само перерисовать свою клиентскую область. Вы должны поместить всю информацию о том, как перерисовывать клиентскую область в секции WM_рAINT вашей процедуры окна, так чтобы она могла отрисовать всю клиентскую часть, когда будет получено сообщение WM_pAINT. Также вы должны представлять себе, что такое invalid rectangle. Windows определяет i.r. как наименьшую прямоугольную часть окна, которая должна быть перерисована. Когда Windows обнаруживает i.r. в клиентской области окна, оно посылает сообщение WM_рAINT этому окну. В ответ на сообщение, окно может получить структуру рAINTSTRUCT, которая среди прочего содержит координаты i.r.. Вы вызываете функцию Beginpaint в ответ на сообщение WM_pAINT, чтобы сделать неполноценный прямоугольник снова нормальным. Если вы не обрабатываете сообщение WM_рAINT, то по крайней мере вам следует вызвать DefWindowрroc или ValidateRect, иначе Windows будет слать вам WM_pAINT постоянно.
Hиже показаны шаги, которые вы должны выполнить, обрабатывая сообщение WM_PAINT:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий