Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Custom MessageDlg (https://www.delphipraxis.net/95089-custom-messagedlg.html)

qb-tim 30. Jun 2007 17:10


Custom MessageDlg
 
Hi,

geht es, dass mann mit MessageDlg(...) die Anzahl und Caption der Knöpfe selbst bestimmt? Wenn, dann wie?

bitsetter 30. Jun 2007 17:23

Re: Custom MessageDlg
 
Hi,

du kannst ja mal in den Tutorial reinschauen. Die Anzahl der Button kannst du zum Teil selbst bestimmen.

qb-tim 2. Jul 2007 13:00

Re: Custom MessageDlg
 
Das Hilft mir aber nicht weiter... Ich möchte z.B. "Knopf 1", "Knopf 2" und "Knopf 3" als Captions selbst bestimmen.

SirThornberry 2. Jul 2007 13:01

Re: Custom MessageDlg
 
dann musst du dir den dialog selbst bauen wenn das beschriebene aus dem tutorial dir nicht genügt.

DeddyH 2. Jul 2007 13:04

Re: Custom MessageDlg
 
Oder bei Torry nachsehen

Bernhard Geyer 2. Jul 2007 13:05

Re: Custom MessageDlg
 
Elpack oder ab Vista den Taskdialog entsprechend verwenden.

bitsetter 2. Jul 2007 17:10

Re: Custom MessageDlg
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von qb-tim
Das Hilft mir aber nicht weiter... Ich möchte z.B. "Knopf 1", "Knopf 2" und "Knopf 3" als Captions selbst bestimmen.

Hi,

das könnte man ansonsten noch anders machen:
Delphi-Quellcode:
function MessageDlgEx(const MsgCaption, Msg: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;
var
  i: Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
  try
    Caption := MsgCaption;
    HelpContext := HelpCtx;
    for i := 0 to Pred(ComponentCount) do
    begin
      if Components[i] is TButton then
      begin
        if TButton(Components[i]).Name= 'Yes' then
          TButton(Components[i]).Caption:= 'Knopf 1';
        if TButton(Components[i]).Name= 'No' then
          TButton(Components[i]).Caption:= 'Knopf 2';
        if TButton(Components[i]).Name= 'Cancel' then
          TButton(Components[i]).Caption:= 'Knopf 3';
      end;
    end;
    Result := ShowModal;
  finally
    Free;
  end;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if MessageDlgEx('Information 1', 'Knopf 1?', mtConfirmation, mbYesNoCancel, 0) = mrYes then
   ShowMessage('Knopf 1');
end;

Ghostwalker 2. Jul 2007 18:58

Re: Custom MessageDlg
 
Gugg dir mal das Teil an:

http://www.jed-software.com/jsd.htm

Ist frei für den privaten Gebrauch, und kann sehr viel (Mehr noch als der Taskdialog von Vista).


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.

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