AGB  ·  Datenschutz  ·  Impressum  







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

MessageDlg und ESCAPE

Ein Thema von UweR · begonnen am 22. Sep 2004 · letzter Beitrag vom 23. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#1

MessageDlg und ESCAPE

  Alt 22. Sep 2004, 14:15
Hallo Leute,

ich habe ein kleines Problem. Ich will beim Verlassen meines Prog die Wahl zwischen dem Speichern der Date, dem verlassen ohne Speichern und dem Abbruch des Vorgangs (nicht verlassen) lassen. Dazu mache ich MessageDlg auf und übergebe ihm die Buttons. Das war solange mal wunderbar bis jemand mal auf die Idee gekommen ist statt eines Buttons ESCAPE zu drücken. Das führt dazu das ich als Result mrNo zurückkriege und alle Eingaben futsch sind weil ich dann nicht speichere. Fällt irgendeinem von euch dazu eine Lösung ein bzw. eine Möglichkeit das zu verhindern. Gibts in MessageBox irgendwelche Möglichkeiten?
Gruß
UweR
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 14:20
Gibts sowas ? Genau dasselbe Problem ist mir vor 1 St. aufgefallen. Also ich habe es mal voerst so gemacht :

Delphi-Quellcode:
  if MessageDlg('Alles speichern ?', mtInformation, [mbYes, mbNo], 0) = mrNo then begin
    if MessageDlgPos('Nicht speichern ? Sind Sie sicher ? ',mtInformation,[mbYes,mbNo],0,200,200) = mrYes then
      EingDM.ReadTransaction.Rollback
So richtig gefallen tut mir das aber irgendwie auch nicht. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 14:25
Escape entspricht eben dem "Nein", obwohl "Abbrechen" sinnvoller wäre. Probier das mal mit einer Messagebox aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#4

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 15:01
@Luckie
Gegenbeispiel (vom Kunden der mein Prog nutzt):

Öffne mal Word, tippe was ein und schließe Word. Dann in der erscheinenden MessageBox mal ESCAPE drücken. Die Messagebox geht auf Abbruch und nicht auf Nein. Ich traue ja BigBill ja viel zu aber das kann kein Feature sein was nur Word hat, mal ganz davon abgesehen das das nicht nur Word sondern auch die Delphi-IDE kann!

@Hansa
So krieg ich das meinem Kunden leider nicht verkauft. Dann schon lieber ne eigene MessageBox basteln!
Gruß
UweR
  Mit Zitat antworten Zitat
tuxhol

Registriert seit: 22. Jul 2004
Ort: Overath
30 Beiträge
 
Delphi 6 Professional
 
#5

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 15:06
Mit application.message klappt das gaaaanz hervorragend

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  antwort : integer;
begin
  antwort := application.messagebox('Ja oder Nein?','Frage',32+3);
  if antwort=idyes then
    begin
      showmessage('Antwort war ja / Speichern');
    end
  else
  if antwort=idno then
    begin
      showmessage('Antwort war nein / Nicht Speichern');
    end
  else showmessage('Antwort war Abbrechen');
end;
[edit=sakura] [delphi]Tags Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 15:09
Zitat von UweR:
@Luckie
Gegenbeispiel (vom Kunden der mein Prog nutzt):

Öffne mal Word, tippe was ein und schließe Word. Dann in der erscheinenden MessageBox mal ESCAPE drücken. Die Messagebox geht auf Abbruch und nicht auf Nein. Ich traue ja BigBill ja viel zu aber das kann kein Feature sein was nur Word hat, mal ganz davon abgesehen das das nicht nur Word sondern auch die Delphi-IDE kann!
Sag ich doch, das ist nämnlich eine Messagebox und keine Eigen-VCL-Kreation von Borland.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
UweR

Registriert seit: 15. Mär 2004
Ort: Bad Marienberg
219 Beiträge
 
Delphi 7 Professional
 
#7

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 15:23
Kaum macht mans richtig, schon funktionierts!!!
(Altes chinesisches Sprichwort)

@Luckie:
Immer diese feinen Unterschiede zwischen MessageBox und MessageDlg!!
Gruß
UweR
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#8

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 15:29
Kleiner Codeschnippsel:
Delphi-Quellcode:
CASE MessageDlg('Soll das Projekt gesichert werden?',mtConfirmation, mbYesNoCancel, 0) OF
  mrYes : CanClose := ProjektSpeichern();
  mrNo : CanClose := TRUE;
END;
ESC bewirkt hier wie gewünscht "Abbrechen" = mrCancel....

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 17:17
mbYesNoCancel, ja da war doch was. Nur noch eine Frage : Wo kommt das CanClose her und wie wirkt es sich aus ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#10

Re: MessageDlg und ESCAPE

  Alt 22. Sep 2004, 17:25
Hi Hansa,

Zitat von Hansa:
Wo kommt das CanClose her und wie wirkt es sich aus ?
der Code steht wahrscheinlich im Delphi-Referenz durchsuchenOnCloseQuery des Forms, damit kann man steuern ob das Formular geschlossen werden kann. Bin mir jetzt aber nicht ganz sicher.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:21 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