Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Enter-Taste bei SpinEdit (https://www.delphipraxis.net/18956-enter-taste-bei-spinedit.html)

alcaeus 26. Mär 2004 16:12


Enter-Taste bei SpinEdit
 
Hi! Ich habe in einer Formular ein Spinedit und einen Button, welcher als Default gesetzt wurde. Wenn ich jetzt im SpinEdit die Enter-Taste drücke, so wird nicht auf den Button reagiert. Ich habe probeweise ein Edit-Feld mit ins Formular gegeben, dort hat es anstandslos funktioniert. Weiß jemand worauf das Problem zurückzuführen ist?

toms 26. Mär 2004 17:15

Re: Enter-Taste bei SpinEdit
 
Zitat:

Weiß jemand worauf das Problem zurückzuführen ist?
Das liegt daran, dass das TSpinedit den Style ES_MULTILINE hat.

alcaeus 26. Mär 2004 17:18

Re: Enter-Taste bei SpinEdit
 
Toms, ich weiß nicht wo du diese Eigenschaft beim Spinedit gefunden hast, aber bei meinem D7 Ent gibs die irgendwie nicht...

toms 26. Mär 2004 17:29

Re: Enter-Taste bei SpinEdit
 
Dazu musst du schon im Source Code von TSpinEdit nachschauen.

---> TSpinEdit.CreateParams


Delphi-Quellcode:
procedure TSpinEdit.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ES_MULTILINE or WS_CLIPCHILDREN;
end;

alcaeus 26. Mär 2004 17:30

Re: Enter-Taste bei SpinEdit
 
Achso, danke. Kann ich das Multiline irgendwie auch abschalten?

Xeno-Sebi 26. Mär 2004 17:32

Re: Enter-Taste bei SpinEdit
 
hm...das ist zwar nicht eine antwort auf deine frage, aber vielleicht kannst du bei einem onKeyUp ereignis des spinedits sagen:
Delphi-Quellcode:
if(Key=13)then
  Button1.Click();
damit umgehst du das prob

alcaeus 26. Mär 2004 17:33

Re: Enter-Taste bei SpinEdit
 
:wall: :wall: :wall: Darn hätte ich eigentlich auch denken können...naja, auch Profis machen Fehler ;)

toms 26. Mär 2004 17:34

Re: Enter-Taste bei SpinEdit
 
Zitat:

Kann ich das Multiline irgendwie auch abschalten?
Würde ich lieber nicht, sonst verändert das TSpinEdit etwas sein Aussehen (Hab's eben ausprobiert)
Mach's lieber so, wie's Xeno-Sebi vorgeschlagen hat.

alcaeus 26. Mär 2004 17:38

Re: Enter-Taste bei SpinEdit
 
Die Lösung von Xeno-Sebi funktioniert eigentlich gut, doch da gibt es gleich wieder ein Folgeproblem: In der Click-Routine des Buttons überprüfe ich den Wert des Edits. Wenn ich die evtl. aufkommende Fehlermeldung mit der Enter-Taste bestätige, so erscheint das Fehlerfenster wieder. Hat jemand auch dagegen ein Heilrezept oder ist wieder ein neuer Thread fällig?

Xeno-Sebi 26. Mär 2004 18:26

Re: Enter-Taste bei SpinEdit
 
Was für ne Fehlermeldung ist das denn? Schon mal mit try...except probiert?
also ich hab mal ein simples prog nachgebaut:
1 edit; 1 spinedit; 1 button(default)
Delphi-Quellcode:
procedure TForm1.SpinEdit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if(Key=13)then
 Button1.Click;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage(Edit1.Text+IntToStr(SpinEdit1.Value));
end;
da gabs keine fehler, deshalb glaube ich nciht, das der fehler aus der keyup methode, sondern aus deiner weiterverarbeitung kommt... ansonsten kannst du vor dem button1.click mal button1.setfocus machen, dann ist es identisch mit nem echten mausklick


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Seite 1 von 2  1 2      

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