![]() |
OnKeyPress / OnChange, was ist bei einer Kompo zugewiesen?
Hallo zusammen
Zur Laufzeit erzeugte Komponenten möchte ich auslesen. Mit
Delphi-Quellcode:
kann ich ja feststellen, wo die Kompo platziert wurde oder mit
if (TEdit(FindComponent('Edit1')).Parent=Form1) then //Mache irgendwas
Delphi-Quellcode:
wo die Kompo links liegt.
if (TEdit(FindComponent('Edit1')).Left=0) then //Mache irgendwas
Wie kann ich jedoch prüfen, was beim onKeyPress, onEnter und beim onChange zugewiesen wurde? Danke für Eure Hilfe RWP |
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
Meinst Du *ob* oder *was*? Was genau hast Du denn überhaupt vor? Den Eventhandlern wird ja ein Sender mitgegeben, den man ggf. auswerten kann. Hängt natürlich vom Einzelfall ab ob das sinnvoll ist oder nicht.
|
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
prüfen der Methode geht genauso:
Delphi-Quellcode:
if (Komponente.Event = Eventhandler) then
|
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
Ich habe verschiedene Ereignisse die ich OnKeypress zugewiesen habe.
Es sind dies: -Zahlen (OnKeypress_Zahlen) -Fliesskomma (OnKeypress_Fliess) -Alphanumerisch (OnKeypress_Alpha) Beispiel: Beim Editfeld Edit_RechnungsNr weise ich jetzt beim Erzeugen dem Eventhandler OnKeypress mit dem Namen OnKeypress_Zahlen zu. Wie habe ich die Möglichkeit, diesen Wert von der Komponente abzurufen und zum Beispiel in eine Editfeld zu legen? |
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
das Abfragen geht so:
Delphi-Quellcode:
was du mit "in ein Editfeld legen" verstehe ich nicht. Wie willst du ein Ereigniss in ein Editfeld legen? Und wie soll das aussehen (optich)? Eventuell drückst du dich falsch aus. Kannst du das eventuell nochmal mit Begriffen versuchen zu erklären die nichts mit programmierung zu tun haben?
if (Edit_RechnungsNr.OnKeypress = OnKeypress_Zahlen) then
|
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
Mit dem Eintrag
Delphi-Quellcode:
kriege ich die Fehlermeldung
if (Edit_RechnungsNr.OnKeypress = OnKeypress_Zahlen) then
Nicht genügend wirkliche Parameter Woran kann das noch liegen? Ich möchte wie im Objektinspektor unter dem Register Ereignisse die verfügbaren Ereignisse in eine Combobox füllen, damit diese zur Laufzeit den Komponenten zugewiesen werden können Danke für Eure Bemühungen RWP |
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
Meinst Du etwa, dass man im OI eine Auswahlliste der schon vorhandenen zum jeweiligen Event kompatiblen Eventhandler bekommt? Und diese Funktionalität willst Du nachbauen?
Als praktisches Beispiel: Das Mainform eines Programms hat vier Buttons, und jeder Button hat einen OnClick-Eventhandler (z.B. Button1 bis Button4 und Button1Click bis Button4Click). Wenn man jetzt einen fünften Button auf das Form zieht, und im OI unter Events auf "OnClick" klickt, bekommt man dort eine Auswahlliste die die schon vorhandenen Button1Click bis Button4Click anzeigt. Davon könnte man jetzt einen auswählen oder per Doppelklick Delphi dazu veranlassen, einen neuen Eventhandler Button5Click anzulegen. //EDIT: Formulierung geändert |
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
Ja, genau das möchte ich nachbauen. Scheint jedoch schwierig zu sein.
Tips? |
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
ich habe mich getäuscht. mit dem von mir gepostetem quelltext funktioniert es nicht :oops:
|
Re: OnKeyPress / OnChange, was ist bei einer Kompo zugewiese
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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-2025 by Thomas Breitkreuz