Repaint своими руками
Фишка такая, надо перерисовывать Canvas в классе образованом от TCustomControl...
Собственного обработчика OnPaint родитель не имеет.
Я отлавливаю виндовое сообщение WM_PAINT, и запускаю функцию Paint(), но я не могу поймать размер перекрытой области, где можно это найти?
Пока получается только перерисовка всего объекта, а он при этом мерцает...
Подскажите плз кто че сможет.
Цитата:
Originally posted by Gerret
Приветствую всех.
Фишка такая, надо перерисовывать Canvas в классе образованом от TCustomControl...
Собственного обработчика OnPaint родитель не имеет.
Я отлавливаю виндовое сообщение WM_PAINT, и запускаю функцию Paint(), но я не могу поймать размер перекрытой области, где можно это найти?
Пока получается только перерисовка всего объекта, а он при этом мерцает...
Подскажите плз кто че сможет.
Приветствую всех.
Фишка такая, надо перерисовывать Canvas в классе образованом от TCustomControl...
Собственного обработчика OnPaint родитель не имеет.
Я отлавливаю виндовое сообщение WM_PAINT, и запускаю функцию Paint(), но я не могу поймать размер перекрытой области, где можно это найти?
Пока получается только перерисовка всего объекта, а он при этом мерцает...
Подскажите плз кто че сможет.
См. MSDN: WM_PAINT, GetUpdateRect
A window may receive internal paint messages as a result of calling RedrawWindow with the RDW_INTERNALPAINT flag set. In this case, the window may not have an update region. An application should call the GetUpdateRect function to determine whether the window has an update region. If GetUpdateRect returns zero, the application should not call the BeginPaint and EndPaint functions.
Цитата:
Originally posted by Green
См. MSDN: WM_PAINT, GetUpdateRect
A window may receive internal paint messages as a result of calling RedrawWindow with the RDW_INTERNALPAINT flag set. In this case, the window may not have an update region. An application should call the GetUpdateRect function to determine whether the window has an update region. If GetUpdateRect returns zero, the application should not call the BeginPaint and EndPaint functions.
См. MSDN: WM_PAINT, GetUpdateRect
A window may receive internal paint messages as a result of calling RedrawWindow with the RDW_INTERNALPAINT flag set. In this case, the window may not have an update region. An application should call the GetUpdateRect function to determine whether the window has an update region. If GetUpdateRect returns zero, the application should not call the BeginPaint and EndPaint functions.
Я посмотрел, но чо-то не пойму, ниодна ф-ия не возвращает перекрытую область...