C++ Builder 5 - hivatkozás Buttonra

C++ Builder 5 - hivatkozás Buttonra
2005-04-14T21:49:49+02:00
2005-04-15T00:01:00+02:00
2022-10-24T15:30:43+02:00
nebulka
Szevasztok!

Egy elég láma kérdésem lenne BCB5-tel kapcsolatban.

Adott egy form, amin van mondjuk 10 TButton. Egy for ciklussal végig szeretnék futni az összesen, és valamilyen tulajdonságát átállítani mindnek. A következővel próbálkoztam:


void __fastcall TMainForm::Button29Click(TObject *Sender) { int i; AnsiString tmps; TControl* tcont; for(i=0; i < MainForm->ControlCount; i++ ) { tcont = MainForm->Controls[i]; tmps = tcont->Name; if ( tmps.SubString(1,6) == "Button" ) { tcont->Font->Style = TFontStyles(); } } }

A gond az, hogy azt mondja a compiler, hogy a tcont->Font nem elérhető, és a help szerint igaza is van, mert a TControl Fontja private.

Kérdésem tehát az - tudtok még követni - , hogy a TForm Controls "gyűjteményén" keresztül hogy érem el magát a TButton objektumot, vagy egyszerűbben:

Hogyan lehet for ciklusban ilyen "paraméteresen" hivatkozni Formon levő gombokra, vagy labelekre, vagy edit boxokra...

Előre is köszi az észt, amit majd osztotok.
Mutasd a teljes hozzászólást!
Ezt javítsd ki:
TButton* tcont;
Továbbá a ciklusban:
tcont = (TButton*)(MainForm->Controls[i]);
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd