Einzelnen Beitrag anzeigen

Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MessageDlg schliessen durch X Button verhindern

  Alt 12. Mär 2008, 22:17
Hallo,

eine Möglichkeit wäre:
Delphi-Quellcode:
function MessageDlgEx(Msg: AnsiString; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
var
  hMenu : THandle;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
  try
  hMenu := GetSystemMenu(Handle, False);
  if hMenu <> 0 then
    EnableMenuItem(hMenu, SC_CLOSE, MF_BYCOMMAND or MF_GRAYED);
    Result := ShowModal;
  finally
    Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MessageDlgEx('Test', mtConfirmation, mbYesNoCancel, 0);
end;
EDIT: Oder einfach die Eigenschaft BorderIcons abändern:
Delphi-Quellcode:
function MessageDlgEx(Msg: AnsiString; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
  try
    borderIcons:= [];
    Result := ShowModal;
  finally
    Free;
  end;
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat