ďťż

Ł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
  •