TEdit.OnSetValue?

Forum für alles rund um die MSEide und MSEgui
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

TEdit.OnSetValue?

Beitrag von fliegermichl »

Die T*Edit Komponenten haben alle einen Event OnSetValue. Kann man diesen Event auch dem Standard TEdit spendieren?

Ich fand das schon immer bei Lazarus und bei Delphi blöd, daß man nicht bei "Enter" den neuen Text prüfen und entsprechend reagieren kann. OnChange bzw. OnTextedited ist zu früh, onExit eigentlich schon zu spät. Wenn der Anwender eine neue Gebäudelänge eingegeben hat und Enter drückt, muss das Projekt neu berechnet und dargestellt werden.

Überigens habe ich heute zum ersten mal ein mit der msegui Version berechnetes Dach dargestellt bekommen.
Wenn es etwas hübscher aussieht, werde ich demnächst mal ein paar Screenshots oder vielleicht auch ein kleines Video hochladen.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TEdit.OnSetValue?

Beitrag von mse »

fliegermichl hat geschrieben:Die T*Edit Komponenten haben alle einen Event OnSetValue. Kann man diesen Event auch dem Standard TEdit spendieren?

TEdit wird praktisch nie gebraucht. Zum Eingeben von string-Werten gibt es "tstringedit" von der Komponentenpalettenseite 'Edit'. Kannst du kein "tstringedit" verwenden?
Überigens habe ich heute zum ersten mal ein mit der msegui Version berechnetes Dach dargestellt bekommen.
Wenn es etwas hübscher aussieht, werde ich demnächst mal ein paar Screenshots oder vielleicht auch ein kleines Video hochladen.

Da bin ich äusserst gespannt! :-)

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: TEdit.OnSetValue?

Beitrag von mse »

fliegermichl hat geschrieben:Wenn der Anwender eine neue Gebäudelänge eingegeben hat und Enter drückt, muss das Projekt neu berechnet und dargestellt werden.

Dazu ist "ondataentered" gedacht. Alle t*edit haben "ondataentered" mit der Signatur:

Code: Alles auswählen

 
 notifyeventty = procedure (const sender: tobject) of object;
 

"ondataentered" wird nach erfolgreichem "onsetvalue" aufgerufen, die "value" Eigenschaften haben in "onsetvalue" den ursprünglichen Wert, in "ondataentered" den neuen.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1430
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: TEdit.OnSetValue?

Beitrag von fliegermichl »

Aja Danke,

Die TRealEdits sind natürlich besser geeignet. Ich hatte gedacht, daß man die nur innerhalb des twidgetgrid verwenden kann.

Antworten