Forum: Multimedia
by Delphi-Laie,
26. Mai 2012
Die Vorschauschleife ist dort genauso gelöst wie weiter oben von mir hier veröffentlicht, danke!
Die eigentliche Zeichenfunktion lagerte ich in eine Prozedur aus:
procedure Ausgabe(canvas:TCanvas;x,y:word);
begin
//Quellcode für den Bildschirmschoner
end;
die so
Forum: Multimedia
by Delphi-Laie,
26. Mai 2012
Das ist mir durchaus klar, danke!
Also, der Bildschirmschoner wird für jeden Modus in diesem Modus neu gestartet.
Für den Vollschirmmodus, den eigentlichen Schonermodus, setzte ich den Mauscursor auf -1 (abgeschaltet) - und nach meiner Meinung auch nur in diesem (Bedingungen und Verzweigungen).
Erstaunlicherweise war der Mauscursor auch im Konfigurationsformular verschwunden. Ich setzte...
Forum: Multimedia
by Delphi-Laie,
26. Mai 2012
Der Timer war doch nur ein 1-Schuß-Starttimer, um OnCreate zu verlassen. Halt kann man tatsächlich mit Deiner Lösung vermeiden (werde ich auch so tun, weil ich noch ein IniFile-Objekt instanziieren und entladen muß).
Mit Deinem while IsWindow(DemoWnd) and not IsWindowVisible(DemoWnd) do // war 'ne Endlosschleife, falls es das Fenster nicht mehr gibt, oder es nie sichtbar wird
Sleep(50);
...
Forum: Multimedia
by Delphi-Laie,
25. Mai 2012
Ja, ich hatte gehofft, daß der Meister der Schoner sich zu Wort meldet, danke!
Ist es demnach nicht optimal, auf OnKeyDown/OnKeyPress und/oder OnMouseMove des bildschirmfüllenden und -schonenden Hauptformulares zu reagieren und in den entsprechenden Ereignisbehandlungsprozeduren das Beenden des Programmes entweder auszulösen oder wenigstens vorzubereiten?
Forum: Multimedia
by Delphi-Laie,
25. Mai 2012
Des Rätsels Lösung findet sich hier.
Das dortige Projekt auf das wesentliche, das hier das Problem zu lösen demonstrieren soll, reduziert, sieht die Projektdatei so aus:program Bildschirmschoner;
uses
Forms,
SysUtils,
Windows,
Graphics,
Classes,
Forum: Multimedia
by Delphi-Laie,
25. Mai 2012
Diese Diskussion ist zwar schon einige Jahre alt, aber vor genau dem gleichen Problem stehe ich nun auch und finde keine Lösung.
Wenn man während der laufenden Bildschirmschonervorschauf auf "Testen" oder "Einstellungen" klickt, so müßte das Bildschirmschonerprogramm beendet und mit anderem Paremeter erneut gestartet werden.
Die Ereignisse "OnCloseQuery" und "OnClose" werden (in dieser...