Announcement

Collapse
No announcement yet.

Default in MessageDlg

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Default in MessageDlg

    Wie kann ich den Default(Focus) in einem MessageDlg mit [mbYes, mbNo] auf Nein legen?

    m.f.G. Andreas Käding

  • #2
    Probier mal folgendes:

    <pre>

    function MessageDlgExt(const AMsg, ATitle: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons;
    HelpCtx: Longint; AActiveControl: TMsgDlgBtn = mbYes): Word;
    const
    ButtonNames: array[TMsgDlgBtn] of string = (
    'Yes', 'No', 'OK', 'Cancel', 'Abort', 'Retry', 'Ignore', 'All', 'NoToAll',
    'YesToAll', 'Help');
    var
    frm: TForm;
    btn: TButton;
    i: Integer;
    begin
    frm := CreateMessageDialog(AMsg, AType, AButtons);

    try
    frm.HelpContext := HelpCtx;
    frm.HelpFile := '';
    frm.Position := poScreenCenter;
    frm.Caption := ATitle;

    // Aktiven Button einstellen
    if AActiveControl in AButtons then
    begin
    for i := 0 to frm.ComponentCount - 1 do
    begin
    if frm.Components[i] is TButton then
    begin
    btn := frm.Components[i] as TButton;
    if btn.Name = ButtonNames[AActiveControl] then
    frm.ActiveControl := btn;
    end;
    end;
    end;

    Result := frm.ShowModal;
    finally
    frm.Free;
    end;
    end

    Comment


    • #3
      Hallo Bernhard!

      Danke das klappt!

      Gruß Andrea

      Comment

      Working...
      X