Hallo,
der Betreff ist Sch... aber wie soll ich das kurz beschreiben:
Auf einem Formular liegt ein TImage welches per Mousemove Zeichenoperationen ausführt.
Es gibt ein Mainmenu welches einen Opendialog öffnet um Dateien zu laden.
Nun ist es mir mehrfach vorgekommen, dass beim Öffnen einer Datei bereits etwas gezeichnet wird, und zwar wenn man den Opendialog nicht mit OK benutzt sondern auf die gewünschte Datei doppelklickt.
Nun habe ich als erstes das Image disabled, während das Laden erfolgt, ohne Erfolg, der Mousemove-Event wird abgebrochen wenn Image disabled, ohne Erfolg.
Als letztes die Openroutine erweitert:
Delphi-Quellcode:
Image.enabled := false;
if opendialog.execute then
....
end;
//damit Mausevents verarbeitet werden
Application.processmassages;
Image.enabled := true;
und
Delphi-Quellcode:
procedure TFormMain.ImageMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if not TImage(Sender).Enabled then
exit;
...
Kein Erfolg, die Mopusemove's kommen weiter an und zeichnen
Wie komme ich weiter?
Ciao
Stefan