Ahoj, chci se zeptat jestli nemáte někdo zkušenosti s kopírováním komponent v Turbo C++. Chtěl bych, aby na začátku programu byl v jednom rohu panel (TPanel), já zadám číslo a program udělá to, že ten panel zkopíruje a dá vedle něj až jich bude tolik kolik bude číslo. Nevím jak by se to dalo vyřešit (jestli to vůbec jde). Jestli máte někdo nějaké zkušenosti, byl bych rád ze nějakou konzultaci.
Fórum › C / C++
Kopírování komponent v C++ ???
Budeš k tomu potřebovat jeden for cyklus. V něm budeš tvořit nové instance TPanel a kopírovat jejich parametry (pokud nemáš k dispozici kopírovací konstruktor), tj. např. stejné rozměry. No a pozici budeš "počítat" z toho vedle stojícího.
To liborb : Nevím přesně jak tvořit nové instance, nemohl by si prosím napsat nějaký příklad. Už jsem to zkoušel taky přez for cyklus, ale asi mám něco blbě. A s tím kopírovacím konstruktorem jsem se taky ještě nesetkal.
Něco takového:
TPanel* pNovyPanel = new TPanel(Form1);
pNovyPanel ->Parent = Form1;
pNovyPanel ->Top = 0;
pNovyPanel ->Left = pPredchozi->Right;
pNovyPanel ->Width = pPredchozi->Width;
pNovyPanel ->Height = pPredchozi->Height;
To liborb : No a to mi udělá nový panel s názvem pNovyPanel, ale když jich budu chtít víc.
To liborb : A to jde? Aby bylo pole v názvu komponenty.
Rozhodně jde pole komponent:
TPanel* panely[10];
for (int i = 0;i < 10;i++) {
panely[i] = new TPanel(Form1);
panely[i] ->Parent = Form1;
panely[i] ->Top = 0;
panely[i] ->Left = pPredchozi->Right;
panely[i] ->Width = pPredchozi->Width;
panely[i] ->Height = pPredchozi->Height;
pPredchozi = panely[i];
}
tak to děkuju, vyzkouším
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kopírování celé záložky včetně komponent na ní — založil motorcb
Přehřivání komponent — založil Fires
Velikosti komponent — založil pkubicek
Ukazání komponent — založil Alan
Vlastný komponent... — založil Mega.Lama
Moderátoři diskuze