onclick ereignis mit dynamisch erzeugten button
-
wie kann ich ein onclick ereignis mit dynamisch erzeugten buttons machen???
die buttons hab ich so erzeugt:
---------------------------------var TSpeedButton *MySpeedButton; MySpeedButton = new TSpeedButton(this); MySpeedButton->Parent = this;
-
Hi,
schau mal in der FAQ nach
-
-
crass: Das Nächste mal bitte nur einen Link auf den FAQ-Index posten. Damit erhält der der fragt auch automatisch einen Überblick was sonst noch so alles in der FAQ rumgammelt. Danke (:
-junix
-
hi, irgendwie geht das auch nicht!
bekomme folgende fehlermeldungen:[C++ Fehler] main.cpp(16): E2316 '_fastcall TForm1::Test(TObject *)' ist kein Element von 'TForm1'
[C++ Fehler] main.cpp(37): E2268 Aufruf der undefinierten Funktion 'Test'
[C++ Fehler] main.cpp(37): E2034 Konvertierung von 'int' nach 'void (_fastcall * (_closure )(TObject *))(TObject *)' nicht möglich
hier is mein code:
//--------------------------------------------------------------------------- void __fastcall TForm1::Test(TObject *Sender) { ShowMessage("test"); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { int x=1; for (int i=0; i<7; i++) { for (int k=0; k<7; k++) { MySpeedButton = new TSpeedButton(this); MySpeedButton->Parent = this; MySpeedButton->Name = "MySpeedButton"+IntToStr(x); MySpeedButton->Cursor = crHandPoint; MySpeedButton->Caption = IntToStr(x); MySpeedButton->Left = k*25; MySpeedButton->Top = i*25; x++; MySpeedButton->OnClick = Test(); } } } //---------------------------------------------------------------------------
-
also, ich hab grad gemerkt, wenn ich die klammern hinter Test weglasse, hab ich schonmal eine fehlermeldung weniger
MySpeedButton->OnClick = Test();
jetzt bleibt nur noch:
[C++ Fehler] main.cpp(16): E2316 '_fastcall TForm1::Test(TObject *)' ist kein Element von 'TForm1'
[C++ Fehler] main.cpp(38): E2451 Undefiniertes Symbol 'Test'
-
Hi,
die Funktion muss auch noch in die *.h Datei eingetragen werden!
void __fastcall TForm1::Test(TObject *Sender);
Alexander Sulfrian
-
juhu, es geht. danke
-
hm, ich hab noch ein problemchen
wie krieg ich jetzt heraus, welcher button geklickt wurde, um den button zum beispiel auf Enabled = false zu stellen ???
-
Steht auch alles in der FAQ. Der Titel ist irgendwas mit "ohne Namen".
-
aha, habs gefunden
dynamic_cast<TSpeedButton*>(Sender)->Name