WinFuture-Forum.de: Canvas Dauerhaft Anzeigen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Canvas Dauerhaft Anzeigen


#1 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.439
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 01. Dezember 2004 - 13:05

Hi,

ich schreibe grade ein Programm was etwas in ein Koordinatensystem schreiben soll,

diese erzeuge ich mit dem Canvas Befehl, also in etwa so (Auszug Achsen erstellen):


with form1.Graphl.Canvas do
begin
Pen.Color:=clnavy;
Pen.Width:=1;
moveto(x,0);
lineto(x,hoehey);
moveto(0,y);
lineto(hoehex,y);
end;


Das geht ja alles ohne Probleme, nur der Graph verschwindet wenn ich ein anderes Fenster drüber ziehe, welche Eigenschaft/Befehl muss ich anwenden das der Graph dauerhaft da bleibt?


Thx

Dieser Beitrag wurde von tavoc bearbeitet: 01. Dezember 2004 - 13:43

your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

Anzeige



#2 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.439
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 02. Dezember 2004 - 22:04

Falls es jemanden int. ich habe mittlerweile gefunden wie mans macht, das die Zeichnungen nicht verschwinden.

Zitat

Für Grafiken ist in DELPHI die Canvas-Eigenschaft zuständig, die sowohl Form-, Printer- und Image-Komponenten besitzen. Dadurch können die gleichen Methoden bei der Ausgabe am Bildschirm und beim Drucken verwendet werden. Grafiken, die man direkt in eine Formular zeichnet, werden nicht automatisch aufgefrischt, wenn die Größe des Formulars verändert wird oder wenn das Formular durch ein anderes Fenster verdeckt wird. Es empfiehlt sich daher Grafiken in Image-Komponenten zu zeichnen und für diese mit der Create-Methode beim Programmstart eine Bitmap zu erzeugen, deren Größe an die Größe der Image-Komponente angepasst wird.

procedure TFormImage.FormCreate(Sender: TObject);
  VAR Bitmap : TBitmap;
begin
  Bitmap := TBitmap.Create;
  Bitmap.Width := Image.Width;
  Bitmap.Height := Image.Height;
  Image.Picture.Graphic := Bitmap;
end;

procedure TFormImage.ButtonGeradeClick(Sender: TObject);
begin
  WITH Image.Canvas DO BEGIN
    MoveTo (0,0);
    LineTo (Image.Width,Image.Height);
    END;
end;

your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0