Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - mrYes und mrNo vertauschen?
D. Annies - Mi 13.02.13 20:51
Titel: mrYes und mrNo vertauschen?
Hi, Delpher,
kann man die Abfrage genau "umdrehen"?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TBuchMain.Button40Click(Sender: TObject); begin datatransfer := false; if (label30.Caption <> label38.Caption) then begin if messagedlgpos('Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270) = mrYes then begin datatransfer := true; Unterverzeichnissystem(self); messagedlgpos('Datentransfer beginnt, ' + #13+ 'von Ort: ' + label38.Caption + #13+ 'nach Ort: ' + label30.caption, mtInformation, [mbOk], 0,380,270); screen.Cursor := crno; FindFiles(label38.Caption, '*.*', true); screen.Cursor := crdefault; messagedlgpos('Datentransfer beendet', mtInformation, [mbOk], 0,580,270); end end else label6.Caption := 'Arbeitssitzung - Intern/Stick'; |
Ich meine damit, dass mbNo voreingestellt ist, oder die Logik sich genau anders verhält - ich möchte nämlich
mit RETN weiterblättern und nicht jedesmal den Tab bemühen, o. ä.
Vielen Dank für eine Idee,
Detlef
Moderiert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 14.02.2013 um 13:15
Mathematiker - Mi 13.02.13 20:57
Hallo,
warum drehst Du die Frage nicht herum, z.B.
Delphi-Quelltext
1: 2: 3: 4: 5:
| if messagedlgpos('Keinen Datentransfer durchführen?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270) = mrNo then begin ... |
oder so ähnlich.
Beste Grüße
Mathematiker
Gerd Kayser - Mi 13.02.13 21:28
D. Annies hat folgendes geschrieben : |
Ich meine damit, dass mbNo voreingestellt ist |
MessageDlgPos hat noch einen weiteren Parameter.
Delphi-Quelltext
1: 2:
| if messagedlgpos('Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270, mbNo) = mrYes then |
Irgendwie klappt das nicht mit dem Hervorheben. "0,580,270,
mbNo"
WasWeißDennIch - Do 14.02.13 09:19
Bei MessageBox klappt das hervorragend.
Delphi-Quelltext
1: 2:
| if MessageBox(0, 'Festplatte wirklich formatieren?', 'Bestätigen', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = idYes then Tschuess; |
Gerd Kayser - Do 14.02.13 11:50
WasWeißDennIch hat folgendes geschrieben : |
Bei MessageBox klappt das hervorragend. |
Ich meinte den Editor dieser Webseite. Irgendwas scheint der gegen mich zu haben ...
Neuer Versuch:
Delphi-Quelltext
1: 2:
| if messagedlgpos('Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, mtConfirmation, [mbYes, mbNo], 0,580,270, mbNo) = mrYes then |
Edit: Kaum macht man es richtig, dann klappts. ;-)
WasWeißDennIch - Do 14.02.13 12:34
Sry, falsch verstanden. Andererseits bevorzuge ich persönlich MessageBox, weil MessageDlg so ein "selbstgepinseltes VCL-Gedöns" ist, während MessageBox von Windows kommt und sich deshalb optisch an das OS anpasst. Aber es kann natürlich jeder benutzen, was er will.
Gerd Kayser - Do 14.02.13 13:29
WasWeißDennIch hat folgendes geschrieben : |
Aber es kann natürlich jeder benutzen, was er will. |
Das sehe ich genauso. Da ich es hasse, wenn zusätzlich zum Hauptformular noch weitere Fenster auf dem Desktop herumfliegen, benutze ich TLMDFormDisplay, um weitere Formulare in dieser Komponente auf dem Hauptformular anzuzeigen. MessageBoxen (Sicherheitsabfragen usw.) werden auf dem Hauptformular auf einem zusätzlichen Panel angezeigt, das bei Bedarf ein- oder ausgeblendet werden kann.
Auf dem Bild in der Anlage wird es deutlich, wie ich das mache.
D. Annies - Do 14.02.13 20:27
Danke für eure Antworten. MessageBox kannte ich noch nicht, aber ich habe bei meinem Versuch auch noch
einen Fehler:
Delphi-Quelltext
1: 2:
| if MessageBox(0, 'Datentransfer starten?'+#13+ 'von '+label38.Caption+#13+ 'nach '+label30.caption, 'Bestätigen', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = idYes then |
H e l p ... :))
Detlef
WasWeißDennIch - Do 14.02.13 20:55
Delphi-Quelltext
1: 2:
| if MessageBox(0, PChar('Datentransfer starten?'+ sLineBreak + 'von '+label38.Caption + sLineBreak + 'nach '+label30.caption), 'Bestätigen', MB_YESNO or MB_ICONWARNING or MB_DEFBUTTON2) = idYes then |
D. Annies - Do 14.02.13 22:40
Danke für eure Mithilfe!
Jetzt suche ich weitere Stellen, um diese gute Logik einzubinden ...
Bis denne,
Detlef
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!