我有2個Tframes和一個添加按鈕。我試圖在按下按鈕時將一個tframe添加到另一個上。但因爲我的代碼似乎無法工作。它不會像它想象的那樣添加框架。沒有錯誤或運行,它編譯和運行,但是當我按下按鈕時,它什麼都不做。當我將一個tframe添加到滾動框時,我得到了它的工作,我所做的只是改變了要添加的tframe的位置。對於TFrame2在運行時將Tframe添加到另一個Tframe
void __fastcall TFrame2::AddFrame()
{
int temp = 0;
TFrame1* NewFrame1 = new TFrame1(this);
NewFrame1 ->Parent=this;
TComponentEnumerator * ParentEnum = GetEnumerator();
while(ParentEnum->MoveNext())
{
temp++;
}
NewFrame1 ->SetIndex(temp);
NewFrame1 ->Name = "Frame" + IntToStr(temp);
NewFrame1 ->Top = (NewFrame1 ->Height) * (temp);
}
代碼,這是我使用的TFrame1本身的代碼
void __fastcall TFrame1 ::SetIndex(int temp)
{
this->temp= temp;
}
int __fastcall TFrame1 ::GetIndex()
{
return this->temp;
}
律BG信息:我必須TFRAME添加到另一個TFRAME的原因,是這樣我就可以將一組組件添加到另一組組件中,我不知道有任何其他方式來執行它。稍後我將tframe2添加到主窗體上。
你需要更具體。 「我的代碼似乎無法工作」給我們絕對沒有什麼可繼續。如果事情不奏效,你需要具體說明他們不能如何工作,包括你得到的任何特定的錯誤消息。請記住,我們無法從這裏閱讀您的想法或屏幕,所以我們唯一的信息就是您在問題中給我們的信息。 – 2012-02-16 15:25:24
順便說一句,'TFrame1 * NewFrame1 =新的TFrame1(TFrame2);'是錯誤的。將傳遞的參數('Owner')從'TFrame2'更改爲'this'。 'TFrame2'是一個類型,你需要將指針傳遞給引用。 – 2012-02-16 15:26:58
我向y添加了更多的細節代碼不起作用。它只是簡單地運行沒有錯誤,但沒有添加tframe。我已經嘗試過'this'而不是TFrame2,同樣的事情,代碼運行,但是當我按下按鈕 – livelaughlove 2012-02-16 17:54:50