Migotanie formy

0

Przejrzałem faq i nie znalazłem rozwiązania mojego problemu. Forum też starałem się możliwie dokładnie przejrzeć, ale też nie znalazłem odpowiedzi. Mój problem polega na migotaniu formy, po której rysuję (przez jej canvas). Forma, gdy ją pokazuję, ukrywam, przesuwam, czy zmieniam rozmiar (to ostatnie nie jest jeszcze aż tak istotne i potrzebne) mi migocze na biało tzn. najpierw zapewne się czyści/odświeża i dopiero wtedy wymalowuje. Czy jest możliwe i jeśli tak, to jak, by forma domyślnie, gdy odmalowuje zawartość swoją nie robiła tego na biało, czy na jakikolwiek inny kolor, tylko rysowała zawsze rysunek, bez "etapu pośredniego" w formie wyczyszczenia poprzedniej zawartości? W przypadku mojej formy usuwanie poprzedniej zawartości zamiast zastępowanie jest kompletnie bez sensu i psuje wizualny efekt strasznie. Przypomina to trochę to, jakby forma najpierw używała (oczywiście mówię tu obrazowo, bo pewnie jest nieco inaczej) metody canvas.Rectangle a potem dopiero wykonywała akcję ze zdarzenia OnPaint. Może dałoby się, by zamiast tej metody używała canvas.draw nie powodując migania przy tym na kolor, spowodowanego czyszczeniem poprzedniej zawartości?

0

w 999 przypadkach na 1000 pomaga

form1.DoubleBuffered:=True;
0

Jedno i drugie pomogło, choć nie do końca tzn dalej widać lekkie migotanie, na tyle widoczne, że mogłoby razić. Doublebuffered na pewno pomogło mi w innym programie, który też nie działa na standardowych kontrolkach. A ktoś ma jakiś inny pomysł, jak to zrobić, by było jeszcze skuteczniejsze?

Pozdrawiam i dziękuję tym, co już odpowiedzieli.

0

w 1 na 1000 pomaga form1.DoubleBuffered:=True;

zeby porpawnie bez migotania cos na canvasie narysować

najpierw rysujesz to na TBitmap; stworzonym w pamięci to jest twój pierwszy bufor
pozniej za pomocą copyRect wrzucasz na canvas formy to co jest na canvasie TBitmap i nie ma migotania!
podwojne buforowanie <ort>osblurzone </ort>x_X

0

Wygląda na to, że pomogło. Dzięki za pomoc- mój pasek skrótów do aplikacji graficzny jest dzięki temu prawie skończony i praca w windowsie będzie w końcu przyjemniejsza i szybsza.

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1