| Autor |
Beitrag |
Michael POHL
      
Beiträge: 51
Win 7 pro / 10/64 pro
D2010 Pro LMD 10 / D5 pro LMD 5
|
Verfasst: Di 03.03.09 20:26
Hallo Kollegen,
weiss jemand wie man beim Messagedlg() die 'Nein' Taste selektiert?
Delphi-Quelltext 1:
| If MessageDlg('Auftrag soll ohne Kunden und Farbbezeichnung geschlossen werden?' +#13+'Die Auftragsnummer geht verloren!', mtConfirmation,[mbYes,mbNo],0) = mryes then...... |
mbNo sozusagen:)
Moderiert von Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Di 03.03.2009 um 20:22
Moderiert von matze: Delphi-Tags hinzugefügt
_________________ 100 Jahre leben heisst 100 Jahre lernen.
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Di 03.03.09 20:35
Ist die Nein-Taste nicht mit einem 'Accelerator' versehen? Das ist ein unterstrichenes Zeichen. Wenn der Knopf z.B. mit 'Nein' beschriftet ist, sollte 'ALT-N' reichen. Oder wie meinst Du das?
_________________ Na denn, dann. Bis dann, denn.
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Di 03.03.09 20:38
Ich rate mal ins Blaue: Du suchst mrNo?
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 03.03.09 20:42
Du willst die Standard-Taste umstellen, verstehe ich das richtig? Das geht IIRC mit dem MessageDlg nicht, wohl aber mit der MessageBox, da gibt es die MB_DEFBUTTON-Konstanten für sowas.
|
|
alzaimar
      
Beiträge: 2889
Erhaltene Danke: 13
W2000, XP
D6E, BDS2006A, DevExpress
|
Verfasst: Di 03.03.09 21:10
3 Antworten, 3x raten. Mich dünkt, er hat die Frage nicht richtig formuliert.
_________________ Na denn, dann. Bis dann, denn.
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: Di 03.03.09 21:19
Ich verstehe ihn so, dass er standartmäßig die "Nein"-Taste im Fokus haben will, so dass, wenn man direkt Enter drückt auch "Nein" ausgewählt wird.
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
Michael POHL 
      
Beiträge: 51
Win 7 pro / 10/64 pro
D2010 Pro LMD 10 / D5 pro LMD 5
|
Verfasst: Mi 04.03.09 08:38
Riiiiiiichtig:)
ich möchte wenn das Fenster aufgeht, das der User wenn er ohne denken 'entert' Nein drückt.
_________________ 100 Jahre leben heisst 100 Jahre lernen.
|
|
zuma
      
Beiträge: 660
Erhaltene Danke: 21
Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Mi 04.03.09 09:35
wie DeddyH schon sagt, geht das mit MessageDlg wohl nicht ...
Evtl. einfach die Logik umdrehen ??
Delphi-Quelltext 1:
| If MessageDlg('Auftrag ohne Kunden und Farbbezeichnung !' +#13+'Speichern abbrechen ?(Die Auftragsnummer geht verloren!)', mtConfirmation,[mbYes,mbNo],0) = mryes then...... |
Somit wird einfach nicht mehr gespeichert, wenn der DAU mal wieder ohne Denken wild Tasten drückt ... nach meiner Erfahrung der einzige Weg, User zur korrekten Programmnutzung zu erziehen
Moderiert von matze: Delphi-Tags hinzugefügt
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
|
Reinhard Kern
      
Beiträge: 591
Erhaltene Danke: 14
|
Verfasst: Mi 04.03.09 12:59
zuma hat folgendes geschrieben : | Somit wird einfach nicht mehr gespeichert, wenn der DAU mal wieder ohne Denken wild Tasten drückt ... nach meiner Erfahrung der einzige Weg, User zur korrekten Programmnutzung zu erziehen
|
Hallo,
es kann ja wohl nicht ernsthaft die Aufgabe eines Programmierers sein, die Wirkung von Bedienungsfehlern zu maximieren, um den User zu disziplinieren.
Konsequent angewandt wären wir von rauchenden Motherboards und explodierenden Monitoren umgeben, weil jeder Programmierer meint, er müsste die Menschen davor in seinem Sinne erziehen.
Bisher habe ich alle technischen Systeme so fehlertolerant wie möglich ausgelegt. Ich lebe offensichtlich in einer anderen Welt.
Gruss Reinhard
|
|
zuma
      
Beiträge: 660
Erhaltene Danke: 21
Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Mi 04.03.09 15:28
Reinhard Kern hat folgendes geschrieben : |
Hallo,
es kann ja wohl nicht ernsthaft die Aufgabe eines Programmierers sein, die Wirkung von Bedienungsfehlern zu maximieren, um den User zu disziplinieren.
|
Evtl. hast du mich missverstanden ?
Nicht mehr gespeichert bedeutet NICHT, das alles verworfen wird, sondern man den nicht aus der Maske lässt, bis alle notwendigen Eingaben da sind oder gewollt abgebrochen werden soll.
Das  sollte auch auf eine in meinem Post versteckte Ironie hindeuteten, was mir scheinbar nicht richtig gelungen ist.
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
|
Reinhard Kern
      
Beiträge: 591
Erhaltene Danke: 14
|
Verfasst: Mi 04.03.09 17:22
zuma hat folgendes geschrieben : | [Evtl. hast du mich missverstanden ?
Nicht mehr gespeichert bedeutet NICHT, das alles verworfen wird, sondern man den nicht aus der Maske lässt, bis alle notwendigen Eingaben da sind oder gewollt abgebrochen werden soll... |
Das ging aus dem Posting nicht hervor, ist natürlich ok, wenn es so gemacht wird.
Das Smiley habe ich schon bemerkt, aber mit Zweifel - ich habe schon oft erlebt, dass Programmierer bei Fehlbedienungen Mordgelüste an den Usern entwickeln anstatt ihre Software zu verbessern. Das zeigt schon der Begriff DAU, eigentlich ist der DAU das Mass aller Dinge: wenn er ein Programm bedienen kann, ist es wirklich brauchbar. Es ist bloss manchmal schwierig, DAUs zum Test zu finden.
Gruss Reinhard
|
|
zuma
      
Beiträge: 660
Erhaltene Danke: 21
Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
|
Verfasst: Mi 04.03.09 17:55
Stimmt schon, das mit den DAU's ...
Mein Spruch heisst ja auch immer:
Wenn meine Oma das Prog ohne Anleitung bedienen kann, ist es gut ...
Letztlich ist jeder Programmierer dumm (oder bereits 'burned out'), wenn er nicht die Fehler der DAU's als Anregung nimmt, um seine Software zu verbessern.
_________________ Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 04.03.09 19:10
Du könntest es auch so machen: Delphi-Quelltext 1: 2:
| if MessageBox(Handle, 'Auftrag soll ohne Kunden und Farbbezeichnung geschlossen werden?'#13#10 + 'Die Auftragsnummer geht verloren!', 'Sicher?', MB_YESNO or MB_DEFBUTTON2 or MB_ICONQUESTION) = mrYes then |
Das hat auch den Vorteil, dass es unter Vista z.B. besser aussieht (das erste ist dein Original, das zweite dieser Quelltext):

Einloggen, um Attachments anzusehen!
|
|
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 04.03.09 19:19
Das hatte ich hier bereits gesagt.
|
|