Zeichnen auf der canvas

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Wussi
Beiträge: 1
Registriert: So 4. Dez 2016, 18:56

Zeichnen auf der canvas

Beitrag von Wussi »

In Delphi hatte ich eine turtle-Graphik erstellt: mittels einfacher Befehle wird auf der Zeichenoberfläche eines zweiten Formulars (dessen unit auch die zugehörigen Befehle enthält) gezeichnet. Die Einbindung erfolgt über <uses>.
In Lazarus wird zwar das zweite Formular samt Komponenten angezeigt, die Zeichnung auf der Canvas jedoch nicht mehr, wenn die Zeichenbefehle über die erste unit erfolgen. Ruft man die Zeichenbefehle über die zweite unit auf, geht es.
Es scheint als ob die Canvas im ersten Fall gleich wieder gelöscht wird.
Hat jemand eine Idee?

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Zeichnen auf der canvas

Beitrag von Michl »

Du musst immer in der OnPaint Ereignisbehandlungsroutine des jeweiligen Formulars zeichnen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Zeichnen auf der canvas

Beitrag von Mathias »

@Wussi

Wen du den Code reinstellst, würde man vielleicht den Fehler erkennen.
Nur kommisch ist, das es unter Delphi klappte.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten