2013-03-15 87 views
3

非常基本的C++ Builder問題。我想在運行時創建一個TButton。我本來以爲下面的代碼將做到這一點,但我看到的形式沒有按鈕:如何以編程方式在運行時使用C++ Builder構造組件?

__fastcall TForm2::TForm2(TComponent* Owner): TForm(Owner) 
{ 
    TButton* b = new TButton(this); 
    b->Height = 100; 
    b->Width = 100; 
    b->Left = 0; 
    b->Top = 0; 
    b->Caption = "Testing"; 
    b->Visible = true; 
    b->Enabled = true; 
} 

感謝您的幫助!

回答

4

您需要設置按鈕的Parent(在它顯示在表面):

b->Parent = this; 
+0

衛生署! (我說這是非常基本的)謝謝肯。 – user1643809 2013-03-15 23:52:16

+0

沒問題。對於VCL(這意味着Delphi和C++ Builder)的人來說,這是一個常見的問題。 :-) – 2013-03-15 23:53:39

+0

要添加一些解釋:VCL控件安排在父子層次結構中(每個控件都有零個或多個子項)。這種關係僅僅是爲了繪畫的目的:層次結構的頂層是窗口,並且它將有許多控件作爲它的子項,並且每個子項都可能有自己的子項等等。所以要繪製窗口,主循環會告訴主窗口繪製自己;然後主窗口自行繪製,然後調用其每個子項的繪圖函數。 – 2014-12-21 23:30:19

相關問題