Hallo zusammen
Ich versuche folgendes zu kreieren:
Bei einem Klick auf einen Button soll ein Popup erscheinen. Dieses Popup soll immer im Vordergrung bleiben, auch wenn andere Programme (z.b. excel) geöffnet werden. Zudem soll es die Hauptapplikation nicht behindern, auf dieser soll normal weiter gearbeitet werden können. Das Popup soll sich erst schliessen, wenn der Benutzer beim Popup auf schliessen drückt.
Dies soll als Hinweis mit Hilfestellungen für den Benutzer dienen.
Bis jetzt habe ich folgenden Code:
Hauptapplikation
Delphi-Quellcode:
procedure TMainForm.Button1Click(Sender: TObject);
var
_myForm: TForm1;
begin
// irgendwelche Aktionen
_myForm := TForm1.Create(self);
_myForm.Show;
// weiter Aktionen -> sollen weiter geführt werden, egal ob Popup offen ist oder nicht
end;
Popup Form
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowPos(
Handle,
HWND_TOPMOST,
0,
0,
0,
0,
SWP_NOACTIVATE
or SWP_NOMOVE
or SWP_NOSIZE);
end;
Dies funktioniert aber noch nicht wunschgemäss. Wenn ich das Popup mit einem Klick auf "Schliessen" schliessen will, dann kack das ganze ab (wenn der Code in der Hauptapplikation noch am laufen ist, was er eigentlich immer ist)
Zudem bleibt das Popup nicht ewigs sichtbar. Zwar ist es immer im Vordergrund, aber es wird nach ein paar Sekunden und dem Öffnen anderer Programme weis und gibt keine Antwort mehr.
Ich nehme an, dass der Aufruf _myForm.Show wohl nicht ganz das Richtige ist..
Kann mir da jemand weiter helfen?
Danke shcon im Voraus
Gruss Fisti