dynamisch erzeugte panels mit onClick Methode erstellen
-
wie kann ich bei einem dynamisch, also zur laufzeit erzeugtem panel (oder anderer komponente) eine onClick Methode realisieren?
habe in vielen Foren und auch im Netz intensiv danach gesucht, aber leider nix gefunden. Das überschreiben der Click Methode hab ich bereits probiert, allerdings wird die methode anscheinend nicht aufgerufen.... hier der code dafür:
header:
class FC : public TPanel { public: __fastcall FC(TComponent *Owner); protected: DYNAMIC void __fastcall Click(); };
cpp:
#pragma hdrstop #include "fc.h" __fastcall FC::FC(TComponent *owner) :TPanel(owner) { } void __fastcall FC::Click() { this->Caption="test"; TPanel::Click(); } #pragma package(smart_init)
der Code bringt keine Fehler, doch wenn ich nun auf das panel clicke passiert gar nix.
ich hoffe mir kann jemand weiter helfen.... Danke.
mfg FlashLight
-
weisse einfach dem Ereignis OnClick eine entsprechende Routine zu.
// im Header von Form1 private: void __fastcall MyPanelOnClick(TObject *Sender);
void __fastcall TForm1::MyPanelOnClick(TObject *Sender) { // blahfasel } void __fastcall TForm1::Button1Click(TObject *Sender) { // neues Panel erzeugen und Methode zuweisen MyPanel *Panel = new MyPanel; Panel->Parent = *this; Panel->OnClick = MyPanelOnClick; }
-
Hallo
siehe auch FAQ.
bis bald
akari
-
danke, hatte irgendwie nen denkfehler
mfg FlashLight