Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi MessageBox über alle anderen Programme zeigen??? (https://www.delphipraxis.net/116883-messagebox-ueber-alle-anderen-programme-zeigen.html)

romber 8. Jul 2008 10:19


MessageBox über alle anderen Programme zeigen???
 
Ich benutze folgende Funktion, um ein MessageBox mit eigenem Icon zu erstellen.

Delphi-Quellcode:
function MyMessageBox(hWnd: HWND; caption, Text: string; IDIcon: DWORD; Style: Cardinal): Boolean;
var
  MsgInfo: TMsgBoxParams;
begin
  MsgInfo.cbSize := SizeOf(TMsgBoxParams);
  MsgInfo.hwndOwner := hWnd;
  MsgInfo.hInstance := GetWindowLong(hWnd, GWL_HINSTANCE);
  MsgInfo.lpszText := @Text[1];
  MsgInfo.lpszCaption := @Caption[1];
  MsgInfo.dwStyle := Style;
  MsgInfo.lpszIcon := MAKEINTRESOURCE(IDICON);
  case Cardinal(MessageBoxIndirect(MsgInfo)) of
     IDYES: result := true;
     IDNO: result := false;
  end;
end;
Wenn alle anderen Fenster unten in der TaskBar minimiert sind, erscheint die MessageBox selbstverständlich ganz normal. Wenn aber ein anderes Fenster z.B. Windows-Explorer aktiv ist, erscheint die MessageBox hinter dem aktiven Fenster, so dass man gar nicht merkt, dass eine MessageBox angezeigt wird. Wie kann ich diese MessageBox über allen Fenster anzeigen lassen?

DeddyH 8. Jul 2008 10:24

Re: MessageBox über alle anderen Programme zeigen???
 
Setz mal im Style das Flag MB_SYSTEMMODAL.

Luckie 8. Jul 2008 10:24

Re: MessageBox über alle anderen Programme zeigen???
 
Hier ist die Hilfe dazu: http://msdn.microsoft.com/en-us/libr...11(VS.85).aspx.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz