WM_PAINT - откуда оно берётся? (Winapi и С++)
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
WM_PAINT - откуда оно берётся? (Winapi и С++) - 2007-05-24 17:59:26.906666
|
|
|
t3rmin@1
Сообщений: 197
Оценки: 0
Присоединился: 2006-09-22 23:03:30.883333
|
Пока писал вот такой код:
if (msg == WM_DESTROY) {
PostQuitMessage(0);
}
else if (msg == WM_PAINT) {
hdc = BeginPaint(hWnd, &ps);
TextOut(hdc, 0, 0, "He11o, Wo(R)1D!", 15);
EndPaint(hWnd, &ps);
}
else if (msg == WM_LBUTTONUP)
{
MessageBox(0, "Left Mouse Click", "Warning", MB_TASKMODAL);
}
else
{
return DefWindowProc(hWnd, msg, wParam, lParam);
}
решил задать вопрос - откуда в программе берётся сообщение WM_PAINT? с WM_DESTROY и WM_LBUTTONUP всё понятно - их посылает пользователь и тогда уже Windows реагирует на эти сообщения. А вот WM_PAINT кто посылает ОС, чтоб она среагировала?
|
|
|
RE: WM_PAINT - откуда оно берётся? (Winapi и С++) - 2007-05-24 18:39:45.593333
|
|
|
saimon 2metra
Сообщений: 4281
Оценки: 0
Присоединился: 2007-01-26 10:56:51.426666
|
Всеми вышеназванными и еще кучей других системными сообщениями система обменивается всегда с программой. На WM-PAINT реакция такого характера: был ли поверх окна другой объект. Любой - курсор, другое окно, скринсэйвер…
|
|
|
RE: WM_PAINT - откуда оно берётся? (Winapi и С++) - 2007-05-24 18:46:56.673333
|
|
|
dOver
Сообщений: 140
Оценки: 0
Присоединился: 2007-03-31 04:41:56.070000
|
WM_PAINT посылает система при сворачивании окна в трей, при перекрытии окна твоей проги другим окном и т.д. Можно вызвать это сообщение и програмно, вызвав функцию InvalidateRect(), например обновить экран.
|
|
|
RE: WM_PAINT - откуда оно берётся? (Winapi и С++) - 2007-05-24 19:31:25.096666
|
|
|
t3rmin@1
Сообщений: 197
Оценки: 0
Присоединился: 2006-09-22 23:03:30.883333
|
А если я только программу открыл, и ничего не сворачивал, курсор не двигал и вообще ничего не делал - просто открыл. Чего-то не очень понятно… Или ОС сразу посылает программе какой-то набор сообщений, стандартный для каждой программы? А может это сообщение(WM_PAINT) посылается функцией ShowWindow или UpdateWindow? В общем, особо мне не прояснилось…
|
|
|
RE: WM_PAINT - откуда оно берётся? (Winapi и С++) - 2007-05-25 02:25:27.190000
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
Ну посылает, естесственно. The WM_PAINT message is sent when the UpdateWindow or RedrawWindow member function is called. Это в MSDN написано. Что может быть проще? :)
|
|
|
RE: WM_PAINT - откуда оно берётся? (Winapi и С++) - 2007-05-25 07:25:20.853333
|
|
|
t3rmin@1
Сообщений: 197
Оценки: 0
Присоединился: 2006-09-22 23:03:30.883333
|
Да, проще некуда) Спасиб)
|
|
|
|
|