Komponente
Komponente
BS: Ubuntu
LazPas: Version 1.6.4
Hallo,
ich habe ein Komponente erstellt, ein Frame mit integriertem TLabel + TEdit. Nun möchte ich die Tastatureingaben (die zur Laufzeit im TEdit erfolgen) abfragen/abfange. Nun hat aber das "Frame" schon keine "MouseUp, MouseDown oder MousePress". Gibt es eine Möglichkeit die Tastaturabfragen zur Laufzeit abzufragen?
Udo
LazPas: Version 1.6.4
Hallo,
ich habe ein Komponente erstellt, ein Frame mit integriertem TLabel + TEdit. Nun möchte ich die Tastatureingaben (die zur Laufzeit im TEdit erfolgen) abfragen/abfange. Nun hat aber das "Frame" schon keine "MouseUp, MouseDown oder MousePress". Gibt es eine Möglichkeit die Tastaturabfragen zur Laufzeit abzufragen?
Udo
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: Komponente
???
Du kannst doch den Focus auf das Edit setzen und einfach tippen - oder?
Die Methoden vom TEdit (nicht der Frame!) kannst du dann verwenden um die Auswertung zu machen.
Du kannst doch den Focus auf das Edit setzen und einfach tippen - oder?
Die Methoden vom TEdit (nicht der Frame!) kannst du dann verwenden um die Auswertung zu machen.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
Re: Komponente
...ich möchte in der IDE z.B. schon einstellen "nur zahlen von 1-5 zulässig" und dieses Verhalten möchte ich dann zur laufzeit abfangen, falls also etwas anderes eingegeben wird...also muss ich eigentlich das Tastatur-Event abfangen, auswerten und an das TEdit weitergeben (und die Zeichen dort darstellen)...
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Komponente
Ein Frame wird erst auf einen Container fixiert wenn man es braucht. Daher auf zB ein Form zur Laufzeit. Dort gibt es die Events. Das Frame selbst ist ja quasi eine Vorlage. Die Eventbehandlung kannst du schon im Frame machen nur zuweisen geht erst zur Laufzeit.
Andreas
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Komponente
...genau, und diese Zuweisung zur Laufzeit bekomme ich irgendwie nicht hin...
-
- Beiträge: 6160
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Komponente
...genau, und diese Zuweisung zur Laufzeit bekomme ich irgendwie nicht hin...
Wieso macht du es nicht auf diese Art ?
Code: Alles auswählen
procedure TFrame1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
if not (key in ['1'..'5']) then Key:=#0;
end;
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Komponente
..es soll ähnlich funktioniere wie "TLabeledEdit", aber ich möchte an diesem Beispiel einfach das Prinzip verstehen, da es wiederwendbar sein soll. Ich möchte nicht bei jedem Controll dieser Art die selben Routinen ausprogrammieren...
-
- Beiträge: 6160
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Komponente
Ich möchte nicht bei jedem Controll dieser Art die selben Routinen ausprogrammieren...
Ich meinte, du brauchst dies nur bei deinem TEdit in der Frame.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Komponente
Du kannst dir auch das Edit als neue Komponente ableiten und brauchst kein Frame dafür.
Andreas
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).