Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi dauerhafte Graphiken (https://www.delphipraxis.net/4150-dauerhafte-graphiken.html)

CyberFred 17. Apr 2003 09:48


dauerhafte Graphiken
 
Hallo!
Mein Problem ist, dass wenn ich mit meinem Fenster, dass die zeichnung enthält ausserhalb meines bildschirm bereiches komme und daas fenster dann wieder zurückschiebe, dass meine zeichnung dann verschwunden ist. In der Hilfe steht zwar was mit redraw, aber das habe ich nicht so ganz verstanden. Habt ihr da einen rat?

ciao

Luckie 17. Apr 2003 09:59

OnPaint wird immer dann ausgelöst, wenn dein Fenster neu gezeichnet werden muß. Zeichen also im OnPaint-Ereignis auf deien Form.

CyberFred 17. Apr 2003 10:12

Und wie genau mache ich das? :roll:

Luckie 17. Apr 2003 10:16

Na in dem du deine Zeichenroutinen jeweils noch mal im OnPaint aufrufst.

CyberFred 17. Apr 2003 10:33

Kannst du mal ein Beispiel bringen?

Luckie 17. Apr 2003 10:40

Zitat:

Zitat von CyberFred
Kannst du mal ein Beispiel bringen?

Wofür? :shock:

Na irgendwo mußt du doch auf deine Form oder eine Paintbox zeichnen mit eienr Routine und diese rufst du im OnPaint einafch auf.

CyberFred 17. Apr 2003 11:00

Die Art der Zeichung haängt aber vom Zufall ab (wenn die die Monte Carlo Methode ein begriff ist). Wenn ich Prozedur erneut aufrufen lasse, sieht das bild anders aus als zuvor!

ciao

Luckie 17. Apr 2003 11:04

Nein sagt mir nichts.

Dann speichere es nach dem Zeichen in einem Bitmap im Speicher und blitte es im OnPaint wieder auf deine Form. Geschiet das Zeichnen sowieso schon erst im Speicher, erübrigt sich das zusätzliche Speichern.

flomei 17. Apr 2003 11:08

Re: dauerhafte Graphiken
 
Zitat:

Zitat von CyberFred
Mein Problem ist, dass wenn ich mit meinem Fenster, dass die zeichnung enthält ausserhalb meines bildschirm bereiches komme und das fenster dann wieder zurückschiebe, dass meine zeichnung dann verschwunden ist.

Lass es doch erst gar nicht den sichtbaren Bereich verlassen :wink: Lässt du das Fenster später auftauchen oder was?
Das einfachste wär vielleicht, du stellst im OI unter Position ScreenCenter ein. Dann ist es schön in der Mitte und kann sich zeichnen.

MfG Florian :hi:

Luckie 17. Apr 2003 11:12

Nein, er meint, wenn er es über den Bildschirmrand rausschiebt und es dann wieder zurückholt, dann verschwindet das, was auf seinem Fenster gezeichnet wurde. Grund: Der Teil des Fenster muß von Windows neugezeichent werden, aber woher soll Windows wissen, was da vorher wwar? Also zeichent Windows nichts. Aber da Windows in so einem Fall ein WM_PAINt schickt welches sich inder VCL als OnPaint manifestiert, kann man hier sagen, was gezeichnet werden soll.

Außerdem ist das auch keien Lösung, da das gleich epassieren wird, wenn das Fenster von anderen Fenster überdeckt wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz