Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 

Re: MessageDlg Ohne Schliess-Kreuz?

  Alt 10. Jan 2006, 18:38
das schließen kreuz kann man so deaktivieren bei einem normalen Form:
Delphi-Quellcode:
DeleteMenu(GetSystemMenu(Handle, False), SC_CLOSE, MF_BYCOMMAND);
DrawMenuBar(Handle);
Du musst also das Handle des Menüs bekommen (es also per CreateMessageDialog) erstellen und dann geht das auch auszublenden.

Also so:
Delphi-Quellcode:
var LDialog: TForm;
begin
  LDialog := CreateMessageDialog('Beispiel.', mtInformation, [mbYes, mbNo]);
  DeleteMenu(GetSystemMenu(LDialog.Handle, False), SC_CLOSE, MF_BYCOMMAND);
  DrawMenuBar(LDialog.Handle);
  if LDialog.ShowModal = mrYes then
    ShowMessage('Es wurde mit "Ja" bestätigt.');
  LDialog.Free;
Bedenke: Das Schließen-Kreuz ist zwar deaktiviert aber Alt+F4 sowie das Senden von Messages können das Schließen trotzdem erzwingen ohne das einer der Buttons geklickt wurde.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat