Ĺadny brzuch
Hmmm...tak jak w topicu...
Korzystam z kompon. 'PaintBox' w Borland C++ do rysowania wykresow, wszystko jest, ale w momencie, gdy zminimalizuje okno, przyslonie chocby na ulamek sek. wykresy, znikaja wszystkie wykreslone krzywe :) ... Pewnie juz ktos spotkal sie z tym problemem... bardzo prosze o pomoc.
Pozdrawiam.
Rysuj wykresy w onPaint PaintBox'a, lub stwórz sobie zmienną, w którą wrzucasz wykres, a potem w OnPaint "wlewasz" ją do PaintBox'a ;]
spróbuj dać (bodajże w onactivate)
Invalidate()
Użytkownik DarkCez edytował ten post 06 lipiec 2006, 18:15
Rysuj wykresy w onPaint PaintBox'a, lub stwórz sobie zmienną, w którą wrzucasz wykres, a potem w OnPaint "wlewasz" ją do PaintBox'a ;]
ale co ty dokładnie chcesz? napisałeś że rysyje ci wykres ale znika po minimalizacji lub przesłonięciu to wrzuć ten kod do zdarzenia OnPaint paintbox'a i nie bedzie znikało.
Użytkownik strzelba edytował ten post 07 lipiec 2006, 09:40
ale co ty dokładnie chcesz? napisałeś że rysyje ci wykres ale znika po minimalizacji lub przesłonięciu to wrzuć ten kod do zdarzenia OnPaint paintbox'a i nie bedzie znikało.
No i o to biega, ze nadal jest to samo... znika...
to wrzuc chociaż kod z tego z tego zdarzenia onpaint paintbox'a
wiesz co, ale jak masz początek linii o tych samych współrzędnych co koniec to nie powinieneś nic zobaczyć. a po zatym jak bedą te współrzędne inne to odrysowuje u mnie. i jeszcze, najpierw powinno sie dać moveto() a potem lineto()
wiesz co, ale jak masz początek linii o tych samych współrzędnych co koniec to nie powinieneś nic zobaczyć. a po zatym jak bedą te współrzędne inne to odrysowuje u mnie. i jeszcze, najpierw powinno sie dać moveto() a potem lineto()
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; procedure PaintBox1Paint(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.PaintBox1Paint(Sender: TObject); begin paintbox1.Canvas.Rectangle(0,0,100,100); end; procedure TForm1.FormCreate(Sender: TObject); begin form1.DoubleBuffered:=true; end; end.
Wstaw na formę PaintBox, u mnie taki kod działa (poprawnie odświeża po minimalizacji).
Lub skorzystaj z TImage:
procedure TForm1.FormPaint(Sender: TObject); begin image1.canvas.LineTo(110,110); end;
Użytkownik krajew4 edytował ten post 07 lipiec 2006, 11:32
poczytaj sobie TO
Lub skorzystaj z TImage:
procedure TForm1.FormPaint(Sender: TObject); begin image1.canvas.LineTo(110,110); end;
To pomoglo :) ...poprzedni kod niestety nie, ale ok - moge pozmieniac na "Image's"
A teraz jeszcze jedno pytanko... Ja rysowanie wykresow wywoluje sobie buttonem, i robic to moge dla roznych wartosci i wiadomo potrzebuje nowych wykresow.. jak teraz usunac tamten stary, aby moc narysowac nowy ?? W przypadku PaintBox'a dawalem Repaint(); , ale tu nie pomaga (wykresy sie nakladaja).
Na miejscu starego wykresu narysuj kwadrat (Rectangle) o dowolnym kolorze i wywołaj funkcję rysującą nowy wykres.
Na miejscu starego wykresu narysuj kwadrat (Rectangle) o dowolnym kolorze i wywołaj funkcję rysującą nowy wykres.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Korzystam z kompon. 'PaintBox' w Borland C++ do rysowania wykresow, wszystko jest, ale w momencie, gdy zminimalizuje okno, przyslonie chocby na ulamek sek. wykresy, znikaja wszystkie wykreslone krzywe :) ... Pewnie juz ktos spotkal sie z tym problemem... bardzo prosze o pomoc.
Pozdrawiam.
Rysuj wykresy w onPaint PaintBox'a, lub stwórz sobie zmienną, w którą wrzucasz wykres, a potem w OnPaint "wlewasz" ją do PaintBox'a ;]
spróbuj dać (bodajże w onactivate)
Invalidate()
Użytkownik DarkCez edytował ten post 06 lipiec 2006, 18:15
Rysuj wykresy w onPaint PaintBox'a, lub stwórz sobie zmienną, w którą wrzucasz wykres, a potem w OnPaint "wlewasz" ją do PaintBox'a ;]

ale co ty dokładnie chcesz? napisałeś że rysyje ci wykres ale znika po minimalizacji lub przesłonięciu to wrzuć ten kod do zdarzenia OnPaint paintbox'a i nie bedzie znikało.
Użytkownik strzelba edytował ten post 07 lipiec 2006, 09:40
ale co ty dokładnie chcesz? napisałeś że rysyje ci wykres ale znika po minimalizacji lub przesłonięciu to wrzuć ten kod do zdarzenia OnPaint paintbox'a i nie bedzie znikało.

No i o to biega, ze nadal jest to samo... znika...

to wrzuc chociaż kod z tego z tego zdarzenia onpaint paintbox'a

wiesz co, ale jak masz początek linii o tych samych współrzędnych co koniec to nie powinieneś nic zobaczyć. a po zatym jak bedą te współrzędne inne to odrysowuje u mnie. i jeszcze, najpierw powinno sie dać moveto() a potem lineto()
wiesz co, ale jak masz początek linii o tych samych współrzędnych co koniec to nie powinieneś nic zobaczyć. a po zatym jak bedą te współrzędne inne to odrysowuje u mnie. i jeszcze, najpierw powinno sie dać moveto() a potem lineto()

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) PaintBox1: TPaintBox; procedure PaintBox1Paint(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.PaintBox1Paint(Sender: TObject); begin paintbox1.Canvas.Rectangle(0,0,100,100); end; procedure TForm1.FormCreate(Sender: TObject); begin form1.DoubleBuffered:=true; end; end.
Wstaw na formę PaintBox, u mnie taki kod działa (poprawnie odświeża po minimalizacji).
Lub skorzystaj z TImage:
procedure TForm1.FormPaint(Sender: TObject); begin image1.canvas.LineTo(110,110); end;
Użytkownik krajew4 edytował ten post 07 lipiec 2006, 11:32
poczytaj sobie TO
Lub skorzystaj z TImage:
procedure TForm1.FormPaint(Sender: TObject); begin image1.canvas.LineTo(110,110); end;
To pomoglo :) ...poprzedni kod niestety nie, ale ok - moge pozmieniac na "Image's"
A teraz jeszcze jedno pytanko... Ja rysowanie wykresow wywoluje sobie buttonem, i robic to moge dla roznych wartosci i wiadomo potrzebuje nowych wykresow.. jak teraz usunac tamten stary, aby moc narysowac nowy ?? W przypadku PaintBox'a dawalem Repaint(); , ale tu nie pomaga (wykresy sie nakladaja).
Na miejscu starego wykresu narysuj kwadrat (Rectangle) o dowolnym kolorze i wywołaj funkcję rysującą nowy wykres.
Na miejscu starego wykresu narysuj kwadrat (Rectangle) o dowolnym kolorze i wywołaj funkcję rysującą nowy wykres.
