AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MessageBox mit Ja, Nein, Alle Buttons

Ein Thema von Mackhack · begonnen am 11. Mär 2007 · letzter Beitrag vom 19. Mär 2007
Antwort Antwort
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#1

MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 08:27
Hi,

hat jemand einen (modifizierten) MessageBox Code um eine Kopierfunktion auszustatten mit den Buttons Ja, Nein, Alle? Da ich ungern x mal auf Ja klicken moechte.

Danke!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 08:52
Hallo Mackhack,

das ist wahrscheinlich nicht die sauberste Lösung, aber die, die mir spontan einfällt:

Delphi-Quellcode:
var
  Dlg: TForm;

const
  IDALL = 45; // irgendwas nicht vordefiniertes


  Dlg := CreateMessageDialog('Test', mtInformation, MBYESNOCANCEL);
  try
    with (Dlg.FindComponent('Cancel') as TButton) do
    begin
      Caption := 'Alle';
      ModalResult := IDALL;
    end;
    Dlg.ShowModal;
  finally
    FreeAndNil(Dlg);
  end;
Das erstellt einen Standard-Dialog und ändert die Caption des Cancel-Buttons mit mit deiner eigenen. Als ModalResult musst du dir deine eigene Konstante erstellen, um einen aussagekräftigen Konstantennamen zu erhalten. Da kannst du natürlich jeden beliebigen Inbteger-Wert nehmen, nur würde ich darauf achten, dass diese nicht in den Dialog-Konstanten vorkommt. Die von IDYES und IDNO darfst du natürlich auch nicht verwenden, da du diese selbst benötigst.
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#3

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 12:47
Delphi-Quellcode:
var
  Dlg: TForm;

const
  IDALL = 45; // irgendwas nicht vordefiniertes


  Dlg := CreateMessageDialog('Test', mtInformation, MBYESNOCANCEL);
  try
    with (Dlg.FindComponent('Cancel') as TButton) do
    begin
      Caption := 'Alle';
      ModalResult := IDALL;
    end;
    Dlg.ShowModal;
  finally
    FreeAndNil(Dlg);
  end;
Hä? ^^ Warum nicht einfach
Delphi-Quellcode:
var
  r: Integer;
begin
  r := MessageDlg ('Willst du?', mtInformation, [mbYes, mbNo, mbAll], 0);
  case r of
    mrYes:
      ShowMessage ('Yo');
    mrNo:
      ShowMessage ('Nö ...');
    mrAll:
      ShowMessage ('Immer!');
  end;
end;
Oder hab ich da was falsch verstanden?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 12:49
Oh, ich wusste nicht, dass es mbAll gibt, dann ist meine Lösung natürlich die etwas umständlichere und nicht so tolle.
  Mit Zitat antworten Zitat
elundril

Registriert seit: 11. Feb 2007
Ort: Wien
74 Beiträge
 
#5

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 12:56
warum nicht gleich mit:

Delphi-Quellcode:
begin
  case MessageDlg('Magst du Tiere?',mtConfirmation,[mbYes,mbNo,mbAll],0) of
    mbYes: Showmessage('Du magst Hunde, stimmts?');
    mbNo: Showmessage('Ich auch nicht.');
    mbAll: Showmessage('Ein richtiger Tierfreund!');
  end;
end;
lg el
Michael
Bombing for peace is like fu**ing for virginity.
--------------
Tausend Lemminge können sich nicht irren.
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#6

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 18:27
Danke.

Muss ich mir gleich mal ansehen!

Edit// Das ist MessageDlg. Ich sprach von MessageBox
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 11. Mär 2007, 20:43
Zitat von Mackhack:
Edit// Das ist MessageDlg. Ich sprach von MessageBox
Was spricht dagegen, einen MessageDialog zu nutzen? Mit der MessageBox selbst geht es afaik nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#8

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 12. Mär 2007, 01:42
Ok, dann nehme ich mal den MessageDlg.
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#9

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 12. Mär 2007, 07:35
Zitat von elundril:
warum nicht gleich mit:

Delphi-Quellcode:
begin
  case MessageDlg('Magst du Tiere?',mtConfirmation,[mbYes,mbNo,mbAll],0) of
    mbYes: Showmessage('Du magst Hunde, stimmts?');
    mbNo: Showmessage('Ich auch nicht.');
    mbAll: Showmessage('Ein richtiger Tierfreund!');
  end;
end;
lg el
Kommt doch aufs gleiche raus? Bis auf dass du auf "mr..." statt auf "mb..." prüfen musst.
  Mit Zitat antworten Zitat
elundril

Registriert seit: 11. Feb 2007
Ort: Wien
74 Beiträge
 
#10

Re: MessageBox mit Ja, Nein, Alle Buttons

  Alt 19. Mär 2007, 13:12
ups ja stimmt mir mr statt mb.

ich find meins besser weil man da eine Variable weniger hat.

lg el
Michael
Bombing for peace is like fu**ing for virginity.
--------------
Tausend Lemminge können sich nicht irren.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:45 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