AGB  ·  Datenschutz  ·  Impressum  







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

.ShowModal und Button mit mrOK = mrCancel?

Ein Thema von xZise · begonnen am 10. Feb 2007 · letzter Beitrag vom 11. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

.ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 22:38
Ich habe ein Problem mit dem Rückgabewert von ShowModal!

Zuerst erzeuge ich die Form dynamisch:
Delphi-Quellcode:
procedure TfrmSettings.Button1Click(Sender: TObject);
begin
  frmVarsBox := TfrmVarsBox.Create(nil);
  try
    Showmessage(BoolToStr(frmVarsBox.ShowModal = mrOk, true));
  finally
    frmVarsBox.Free;
  end;
end;
Und das Ergebnis ist false (und im falle von mrCancel true).
Dabei hat der Button bOk.ModalResult den Wert mrOk!

Delphi-Quellcode:
procedure TfrmVarsBox.lbVarsKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    bOkClick(bOk)
  else if key = VK_ESCAPE then
  begin
    bCloseClick(bClose);
  end;
end;

procedure TfrmVarsBox.bOkClick(Sender: TObject);
begin
  ModalResult := mrOk; // Testweise hinzugefügt
  close;
end;
Und ich weis einfach nicht, woran es liegen kann...
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 22:50
Hallo Fabian,

wirf mal die Close-Anweisungen aus den Button-Prozeduren raus. Durch das Setzen von ModalResult wird das Formular bereits geschlossen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 22:53
Und was mache ich mit OnClick anweisungen?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 22:55
Zitat:
Und was mache ich mit OnClick anweisungen?
In wiefern?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 22:58
Ich möchte einen Klick auf Ok/Abbrechen (bOk/bClose) simulieren, wenn man in der ListBox (lbVars), auf Enter/Excape drückst.
Um genau zu sein: Die Methode "lbVarsKeyDown"
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 23:00
Entweder du rufst die entspr. Event-Methode auf, wie du es ja schon tust oder setzt .ModalResult direkt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 23:07
Ah danke ^^ So funktionierts!
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 23:46
Wenn du die Eigenschaft Delphi-Referenz durchsuchenTButton.ModalResult nutzt, kommst du eventuell ohne eine Zeile Quelltext aus...

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 23:48
Zitat von Hawkeye219:
Wenn du die Eigenschaft Delphi-Referenz durchsuchenTButton.ModalResult nutzt, kommst du eventuell ohne eine Zeile Quelltext aus...
Nutze ich ja schon... Aber das mit KeyDown ist ja etwas anderes, und lässt sich nur so lösen...
Ich habe jetzt nur noch die Methode lbKeyDown (die hier relevant sind)
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#10

Re: .ShowModal und Button mit mrOK = mrCancel?

  Alt 10. Feb 2007, 23:59
Wenn du wirklich TButton.ModalResult nutzt, dann solltest du deine Routinen lbVarsKeyDown, bOkClick und bCloseClick entfernen können, ohne Funktionalität zu verlieren - vorausgesetzt, sie enthalten nur den gezeigten Code.

Gruß Hawkeye
  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 07:58 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