Einzelnen Beitrag anzeigen

Benedikt Magnus

Registriert seit: 6. Jul 2012
Ort: Bonn
190 Beiträge
 
FreePascal / Lazarus
 
#14

AW: MessageDlg über den Default-Button automatisch schließen (MeinCustomDialog.Close;

  Alt 19. Aug 2016, 10:30
Wofür wäre diese Variable denn dann? Komme nicht ganz dahinter.

Den messageDlg muss ich leider über eine Message klicken, da er sonst nur geschlossen wird (Rückgabwert Cancel, 2), auch wenn der Button Cancel nicht existiert.
Du machst das nun so:
Delphi-Quellcode:
// Dialog erzeugen
MeinCustomMsgDialog := CreateMessageDialog(DlgText, mtInformation, [mbYes, mbNo], mbNo);
DialogDefaultButton := TButton(MeinCustomMsgDialog.ActiveControl);

// Default Button anklicken
if DialogDefaultButton.Handle <> 0 then
 SendMessage(DialogDefaultButton.Handle, BM_CLICK, 0, 0)
else
 DialogDefaultButton.Close;

//Auswertung von MeinCustomMsgDialog
case CreateMessageDialog.ShowModal of
  mbYes: MacheWasBeiJa;
  mbNo: MacheWasBeiNein;
end;
Ich meinte es so:
Delphi-Quellcode:
// Dialog erzeugen
MeinCustomMsgDialog := CreateMessageDialog(DlgText, mtInformation, [mbYes, mbNo], mbNo);

// Dialog schließen:
DialogWurdeAutomatischGeschlossen := true;
MeinCustomMsgDialog.Close;

//Auswertung von MeinCustomMsgDialog
case CreateMessageDialog.ShowModal of
  mbYes: MacheWasBeiJa;
  mbNo: MacheWasBeiNein;
  else if DialogWurdeAutomatischGeschlossen then MacheWasBeiAutomatischemSchließen;
end;
EDIT:
Aber natürlich ist der Vorschlag der anderen, das anders zu realisieren, z.B. über ein Banner, immer noch sinnvoller.
  Mit Zitat antworten Zitat