wykres mruga - jak to zlikwidować?

0

Piszę program w Delphi gdzie macierz zmienia się w trakcie działania programu no i aktualizuje się wykres. Macierz fajnie wygląda ale wykres mruga jak oszalały. Czy jest na to sposób żeby nie mrugało jak zwariowane?

0

Ale powiedz jak robisz ten wykres: komponentem jakims czy rysujesz recznie po Canvasie ?? ;)

0

rysuję na bieżąco jak tylko macierz się zmieni. Problemem jest to że muszę rysować bo ustalam wartości max

0

Sprobuj z właściwością DoubleBuffered:=True; :)

0

ustawiłam i efektów nie ma :(
chyba że coś źle robię

wykres_3d_dos.DoubleBuffered := True;
wykres_3d_dos jest typu TChartfx a dane tworzę na nowo w forze

   Form1.wykres_3d_dos.DoubleBuffered := True;
   Form1.wykres_3d_dos.OpenDataEx(COD_VALUES,30,30);
   Form1.Wykres_3d_dos.OpenDataEx(COD_COLORS,30,30);
   max:=szukaj_max(mapa_kosztow_temp);
   Form1.Wykres_3d_dos.Adm[CSA_MAX]:=max + max*(Margines_wykresu/100);
     for z:=0 to (30-1) do  //kolumny
      begin
       Form1.wykres_3d_dos.ThisSerie:=z;
        for x:=0 to (30-1) do      //wiersze
         begin
          Form1.Wykres_3d_dos.thispoint:=x;
          Form1.Wykres_3d_dos.value[x]:=mapa_kosztow_temp[z+1,x+1];
        end;
     end;
    Form1.Wykres_3d_dos.CloseData(COD_COLORS);
    Form1.Wykres_3d_dos.CloseData(COD_VALUES);
    Form1.Wykres_3d_dos.View3D:=true;
0

nie kumam, przecież Dominik podał Ci odpowiedź... grrrr...
jak nie kumasz jak rysować na niewidocznej bitmapie, to możesz spróbować jesze zrobić tak:
przed rysowaniem
LockWindowUpdate(handle);
po rysowaniu
LockWindowUpdate(0);

ale nie wiem, czy to coś da, natomiast metoda którą podał Dominik i którą MASZ W FAQ zadziała na 100%.

0

no nie jest jasne bo ja nie rysuje na Canvasie tylko mam wykres typu TChartfx

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