Entwickler-Ecke
Windows API - MessageBox die Unabhängig im Vordergrund bleibt
Delete - So 14.08.05 11:32
Titel: MessageBox die Unabhängig im Vordergrund bleibt
Hallo!
Ich suche gerade schon eine ganze Weile nach einer Möglichkeit, wie ich eine MessageBox oder ein dazu gemachten TForm dazu bewegen kann, dass sie garantiert im Vordergrund bleibt.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| With CreateMessageDialog(AMessage,mtWarning,[mbOK]) do begin FormStyle:=fsStayOnTop; Caption:=Form1.Caption; Font.Style:=[fsbold]; ShowModal; Free; end; |
Das hatte ich bisher versucht. Funktioniert aber nicht...
Das erstellte Fenster ist eben leider ein Child-Window und damit bleibt es auch nur so lange im Vordergrund, wie die Hauptanwendung im Vordergrund ist. Gleiches gilt für praktisch alle anderen Methoden.
Das Warnfenster soll aber auch (oder gerade) funktionieren, wenn meine Anwendung zum Tray-Icon minimiert ist und soll dann auch im Vordergrund bleiben, bis der Benutzer es auch wirklich gesehen und bestätigt hat.
Vorschläge?
THX schonmal im Voraus :)
Sprint - So 14.08.05 11:54
Delphi-Quelltext
1:
| MessageBox(GetDesktopWindow, 'Text', 'Caption', MB_OK or MB_ICONEXCLAMATION or MB_SYSTEMMODAL); |
Bei einer TForm musst du SetWindowPos mit dem Parameter HWND_TOPMOST benutzen.
Delete - So 14.08.05 22:13
Ah ja... der MB_SYSTEMMODAL Flag war genau der Hinweis, den ich gesucht habe.
Letztlich fand ich dann aber die Kombination "MB_SETFOREGROUND or MB_TOPMOST" noch besser, weil die Nachricht mit MB_SYSTEMMODAL immer das Anwendungssymbol in der Titelleiste und einen eigenen Taskleisteneintrag hat.
klezmor - Fr 09.09.05 09:58
das habe ich gerade in der Delphi-Hilfe gefunden:
The following code causes “stay on top” forms to allow a MessageBox to appear on top. After the message box is closed, the topmost forms are restored so that they continue to float to the top.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| Begin with Application do begin NormalizeTopMosts; MessageBox('This should be on top.', 'Look', MB_OK); RestoreTopMosts; end; end; |
Moderiert von
Gausi: Delphi-Tags hinzugefügt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!