![]() |
Re: Standard-Dialoge
Zitat:
BTW: Bitmasken sollte man IMHO nicht mit + verknüpfen... mfg Christian |
Re: Standard-Dialoge
Hallo ich habe noch eine kleine Zusatzfrage zu MessageDLG :
Wie erreiche ich, dass MessageDLG trotz verschiedener Fallabfragen nur einmalig angezeigt wird ? Schreibe ich den Code naemlich so :
Delphi-Quellcode:
if MessageDlg('Artikelnummer einfuegen?', mtWarning, [mbYesToAll,mbYes,mbCancel], 0) = mrYesToAll then begin
for i:=0 to x do begin //... end; end else if MessageDlg('Artikelnummer einfuegen?', mtWarning, [mbYesToAll,mbYes,mbCancel], 0) = mrYes then begin //... end; wird das Fenster zweimal aufgerufen, da die if-Anweisung in sich einen Aufruf von MessageDLG enthaelt, wenn ich das richtig verstanden habe. Hoffe die Frage ist nicht schon irgendwo beantwortet und ich habs mal wieder nicht gefunden -.- |
Re: Standard-Dialoge
Mach's einfach so:
Delphi-Quellcode:
und da wertest du die variable eben aus (if/case).
Dialog_Result: Integer; // oder Word
Dialog_Result := MessageDlg('Artikelnummer einfuegen?', mtWarning, [mbYesToAll,mbYes,mbCancel], 0); |
Re: Standard-Dialoge
ich muss dazusteuern, dass MessageBox nicht threadsicher ist. Wenn ein Thread eine MessageBox darstellt,
wird der Thread solange blockiert, bis der Benutzer die MessageBox geschlossen hat. Ich kenne derzeit keinen Weg, die Nachrichtenschleife (in einem eigenen Thread) der Messagebox zu beenden. |
Re: Standard-Dialoge
oder gleich so:
Delphi-Quellcode:
case MessageDlg('Artikelnummer einfuegen?', mtWarning, [mbYesToAll,mbYes,mbCancel], 0); of
mrYes: begin end; mrCancel: begin end; [...] end; |
Re: Standard-Dialoge
:wall: :wall: :wall:
*schäm* Danke.... |
Re: Standard-Dialoge
@Matze: Du sagst, man kann mbOKCancel z.B. nicht mit mbYesNoCancel verbinden. Da das Sets sind, müsste das doch mit einem + gehen, oder?
|
Re: Standard-Dialoge
Geht:
Delphi-Quellcode:
MessageDlg('Test', mtInformation, mbOKCancel+ mbYesNoCancel, 0);
|
Re: Standard-Dialoge
Steht sogar so in der Delphi-Hilfe ;)
|
Re: Standard-Dialoge
... man sollte sich das nicht angewöhnen, bitmasken mit + zu verbinden.
Delphi-Quellcode:
MessageDlg('Test', mtInformation, mbOKCancel OR mbYesNoCancel, 0);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz