Jacek K.

Jacek K. Software Developer,
Telecetera Ltd.

Temat: odswiezanie "canvas'a"

Witam
Czy mozna w jakis prosty sposob zrobic tak, abym nie musial za kazdym razem odswiezac plotna? np. gdy oknienko zostanie na chwile zasloniete przez inne (OnPaint). W mojej aplikacji rysowanie jest czasochlonne i chcialbym tego uniknac.
Jest cos takiego jak AutoPaint czy cos w tym stylu?
pozdrawiam

konto usunięte

Temat: odswiezanie "canvas'a"

Jeśli chcesz zblokować przerysowywanie, to trzeba wyfiltrowac komunikaty do okna. Tylko, że to nie jest to, o co Ci chodzi (chyba).

Filtrowanie komunikatów:

Application.AddMessageFilter(new PMessageFilter());

gdzie:

PMessageFilter implementuje IMessageFilter, filtrowanie w funkcji PreFilterMessage

Lepiej jest zapamiętać widok czasochłonnie tworzonego wykresu lub innego obiektu w postaci bitmapy i odswieżać ją tylko po wprowadzeniu zmian w obiekcie. (XXX.DrawToBitmap())

Obslugując zdarzeneie Paint rysujesz poprostu bitmape.

Powinno pomóc.

Następna dyskusja:

hp designjet 111 profil do ...




Wyślij zaproszenie do