Einzelnen Beitrag anzeigen

Fisti

Registriert seit: 9. Jan 2009
14 Beiträge
 
#1

Popup Fenster - stay on top

  Alt 30. Jul 2009, 15:09
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
  Mit Zitat antworten Zitat