Krok 1:
class TForm1 : public TForm { __published: // IDE-managed Components private: // User declarations TButton *OKButton; ...Teoretycznie, deklaracja wskaźnika nie musi znajdować się w klasie formy na której znajduje się komponent; np. mógłbyś umieścić deklarację przycisku OKButton w klasie TForm1, nawet gdyby znajdował się on (przycisk) na innej formie. Jednakże powinieneś unikać takich praktyk, w celu zachowania przejrzystości kodu. Krok 2: Utwórz kontrolkę i przypisz jej właściwości. Jeżeli chcesz, by kontrolka pojawiła się wraz z formą, umieść kod w konstruktorze formy.
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { OKButton = new TButton(this); OKButton->Parent = this; OKButton->Caption = "Dynamiczny Przycisk"; OKButton->SetBounds(10,10,110,25); }Uwaga: Kontrolka nie pojawi się, jeżeli zapomnisz przypisać właściwości Parent. Uwaga: Dla bardziej dynamicznych kontrolek, będziesz musiał przypisać obsługę zdarzeń w kodzie. To zadanie będzie opisane w innym pytaniu-odpowiedzi. Poniższy przykład pokazuje obsługę zdarzenia OnClick dla przycisku. // header file class TForm1 : public TForm { __published: // IDE-managed Components private: // User declarations TButton *OKButton; void __fastcall ButtonClick(TObject *Sender); ... ... // source file __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { OKButton = new TButton(this); OKButton->Parent = this; OKButton->Caption = "Dynamiczny przycisk"; OKButton->SetBounds(10,10,110,25); OKButton->OnClick = ButtonClick; } void __fastcall TForm1::ButtonClick(TObject *Sender) { } |