GetClientRect(hWnd, &rt);. DrawText(hdc,lpszHello,strlen(lpszHello),&rt,DT_LEFT);. EndPaint(hWnd, &ps);. case WM_DESTROY: PostQuitMessage(0); break;. return DefWindowProc(hWnd,wMessage,wParam,lParam);. return 0; 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

GetClientRect(hWnd, &rt);. DrawText(hdc,lpszHello,strlen(lpszHello),&rt,DT_LEFT);. EndPaint(hWnd, &ps);. case WM_DESTROY: PostQuitMessage(0); break;. return DefWindowProc(hWnd,wMessage,wParam,lParam);. return 0;

Поиск

         GetClientRect(hWnd, &rt);

         DrawText(hdc,lpszHello,strlen(lpszHello),&rt,DT_LEFT);

         EndPaint(hWnd, &ps);

         break;

    case WM_DESTROY: PostQuitMessage(0); break;

default:

    return DefWindowProc(hWnd,wMessage,wParam,lParam);

}

return 0;

}

 

В нашей процедуре WindowProc() определяются две локальные переменные: hdc, содержащая дескриптор контекста устройства (экрана), и ps, задающая структуру PAINTSTRUCT, которая необходима для хранения информации, отображаемой в рабочей области окна. Обработка самих сообщений осуществляется с помощью стандартной конструкции switch, которая может быть довольно большой (ее размер зависит от числа обрабатываемых сообщений).

 

Обработка сообщения WM_PAINT.Первое сообщение в нашем примере — это WM_PAINT. Поскольку Windows является многозадачной системой, то одно приложение может открыть свое окно поверх окна другого приложения. Это создает определенную проблему, так как при закрытии или перемещении верхнего окна нижнее не знает о происходящем, в результате чего область, которую занимало верхнее окно, становится некорректной. Windows решает данную проблему путем направления сообщения WM_PAINT нижнему окну, информируя о том, что его содержимое требует обновления. Кроме того, самое первое сообщение WM_PAINT генерируется в UpdateWindow().

 

Любая часть окна, которая была закрыта другим объектом, например диалоговым окном, помечается как недействительная. Наличие недействительной области заставляет Windows послать приложению сообщение WM_PAINT, причем система отслеживает координаты такой области. Если окно оказалась закрыто несколькими объектами, Windows вычислит координаты суммарной области, т.е. Windows не станет посылать несколько сообщений WM_PAINT для каждого отдельно взятого прямоугольного участка, а сгенерирует одно сообщение сразу для всей недействительной области сложной формы.

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 52; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.)