AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Standard-Dialoge
Tutorial durchsuchen
Ansicht
Themen-Optionen

Standard-Dialoge

Ein Tutorial von Matze · begonnen am 23. Feb 2005 · letzter Beitrag vom 7. Sep 2009
Antwort Antwort
Seite 2 von 4     12 34      
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#1

Re: Standard-Dialoge

  Alt 2. Apr 2006, 12:41
Zitat von faux:
Alsi ich finde mtConfirmation und [mbYes, mbNo] etwas einfacher, als die Rechnerei.
Genau dafür sind ja die Konstanten da. Macht das ganze viel übersichtlicher/lesbarer.

BTW: Bitmasken sollte man IMHO nicht mit + verknüpfen...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
bl3nder

Registriert seit: 18. Aug 2006
89 Beiträge
 
#2

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:33
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 -.-
  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
 
#3

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:35
Mach's einfach so:

Delphi-Quellcode:
Dialog_Result: Integer; // oder Word

Dialog_Result := MessageDlg('Artikelnummer einfuegen?', mtWarning, [mbYesToAll,mbYes,mbCancel], 0);
und da wertest du die variable eben aus (if/case).
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#4

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:39
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.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:40
oder gleich so:

Delphi-Quellcode:
case MessageDlg('Artikelnummer einfuegen?', mtWarning, [mbYesToAll,mbYes,mbCancel], 0); of
  mrYes:
  begin

  end;

  mrCancel:
  begin

  end;

[...]
end;
  Mit Zitat antworten Zitat
bl3nder

Registriert seit: 18. Aug 2006
89 Beiträge
 
#6

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:40

*schäm*

Danke....
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:42
@Matze: Du sagst, man kann mbOKCancel z.B. nicht mit mbYesNoCancel verbinden. Da das Sets sind, müsste das doch mit einem + gehen, oder?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Standard-Dialoge

  Alt 29. Mai 2007, 14:48
Geht:
MessageDlg('Test', mtInformation, mbOKCancel+ mbYesNoCancel, 0);
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Standard-Dialoge

  Alt 29. Mai 2007, 15:15
Steht sogar so in der Delphi-Hilfe
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Standard-Dialoge

  Alt 29. Mai 2007, 15:19
... man sollte sich das nicht angewöhnen, bitmasken mit + zu verbinden.

MessageDlg('Test', mtInformation, mbOKCancel OR mbYesNoCancel, 0);
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 04:54 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