Конференция "WinAPI" » Удаление сообщения WM_PAINT [D7, WinXP]
 
  • 3dmax (26.08.11 11:35) [0]
    Здравствуйте.
    Функция "PeekMessage(Msg, 0, 0, 0, PM_REMOVE)" не удаляет из очереди сообщения WM_PAINT.
    Как их можно удалить сразу после получения Msg=WM_PAINT этой функцией?
  • 3dmax (26.08.11 11:37) [1]
    PS ! Не обрабатывая winproc...
    Т.е. не вызывая методы: "winproc(Msg)" или "DispatchMessage(Msg)".
  • Игорь Шевченко © (26.08.11 13:57) [2]
    "Note that if handling this message, you must validate the entire window otherwise you will keep getting wm_paint messages as well as returning 0.
    From the ValidateRect function page:
    "The system continues to generate WM_PAINT messages until the current update region is validated." "

    http://msdn.microsoft.com/en-us/library/dd145194(VS.85).aspx
  • 3dmax (26.08.11 15:53) [3]
    Т.е. вы хотели сказать:
    if Msg.message=WM_PAINT then ValidateRect(Msg.hwnd, nil);
    Благодарю.
 
Конференция "WinAPI" » Удаление сообщения WM_PAINT [D7, WinXP]
Есть новые Нет новых   [134431   +10][b:0][p:0]