Komponente

Rund um die LCL und andere Komponenten

Komponente

Beitragvon Cool-Tuc » 5. Aug 2017, 15:07 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
Cool-Tuc
 
Beiträge: 79
Registriert: 6. Apr 2011, 16:10

Beitragvon MacWomble » 5. Aug 2017, 15:12 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.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
MacWomble
 
Beiträge: 353
Registriert: 17. Apr 2008, 00:59
Wohnort: Freiburg
OS, Lazarus, FPC: Mint 18.1 Cinnamon / CodeTyphon Generation V Plan 6.00 (FPC 3.1.1) | 
CPU-Target: 32/64 Nit
Nach oben

Beitragvon Cool-Tuc » 5. Aug 2017, 16:35 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)...
Cool-Tuc
 
Beiträge: 79
Registriert: 6. Apr 2011, 16:10

Beitragvon af0815 » 5. Aug 2017, 16:52 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
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3229
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon Cool-Tuc » 5. Aug 2017, 17:07 Re: Komponente

...genau, und diese Zuweisung zur Laufzeit bekomme ich irgendwie nicht hin...
Cool-Tuc
 
Beiträge: 79
Registriert: 6. Apr 2011, 16:10

Beitragvon Mathias » 5. Aug 2017, 17:23 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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3025
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Cool-Tuc » 5. Aug 2017, 17:31 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...
Cool-Tuc
 
Beiträge: 79
Registriert: 6. Apr 2011, 16:10

Beitragvon Mathias » 5. Aug 2017, 20:07 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 gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3025
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 5. Aug 2017, 21:10 Re: Komponente

Du kannst dir auch das Edit als neue Komponente ableiten und brauchst kein Frame dafür.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3229
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Win7/Linux (L stable FPC stable) per fpcup | 
CPU-Target: 32Bit (64Bit)
Nach oben

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried