![]() |
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?
|
Re: Enter-Taste bei SpinEdit
Zitat:
|
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...
|
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; |
Re: Enter-Taste bei SpinEdit
Achso, danke. Kann ich das Multiline irgendwie auch abschalten?
|
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:
damit umgehst du das prob
if(Key=13)then
Button1.Click(); |
Re: Enter-Taste bei SpinEdit
:wall: :wall: :wall: Darn hätte ich eigentlich auch denken können...naja, auch Profis machen Fehler ;)
|
Re: Enter-Taste bei SpinEdit
Zitat:
Mach's lieber so, wie's Xeno-Sebi vorgeschlagen hat. |
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?
|
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:
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
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz