Delphi-PRAXiS

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 08: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 08: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 09:12

Und wie genau mache ich das? :roll:

Luckie 17. Apr 2003 09:16

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

CyberFred 17. Apr 2003 09:33

Kannst du mal ein Beispiel bringen?

Luckie 17. Apr 2003 09: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 10: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 10: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 10: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 10: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.

flomei 17. Apr 2003 10:20

:| Verstehe ich. Dann kann ich leider auch nicht weiter helfen. :(

MfG Florian :hi:

Florian H 20. Apr 2003 19:42

Zeichne am Besten nicht auf die Form selber, sondern auf ein TImage, da wird das nämlich nicht einfach gelöscht... :angle:

Haegar 20. Apr 2003 19:51

oder ganz einfach, mach es doch einfach unmöglich mit der form ausserhalb des bildschirmes zu gelangen!

gruss haegar

Luckie 20. Apr 2003 20:13

Ichhatte oben schon erklärt, dass das nicht die Lösung ist. ERrstam, will eventuell jemand das Fenster bei Seite schieben und zweites hastd u den gleichen Effekt, wenn dein Fenster von einem zweiten überlagert wird.

Haegar 20. Apr 2003 20:31

huch, sry das muss ich wohl überlesen haben, aber der 2. gedanke spuckte mir auch schon im kopf rum :duck:

nu gut ich zieh alles zurück
gruss haegar

S - tefano 20. Apr 2003 23:30

Hi,

Vielleicht isses ja einfacher ne Lösung zu finden wenn du uns sagst auf welche Weise du die Sachen auf deine Form zeichnest, also im Endeffekt erklärst was diese Monte Carlo Methode ist und wie sie funktioniert.

Bis dann,

S - tefano


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.

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-2025 by Thomas Breitkreuz