biau
一般會員
發表:25 回覆:32 積分:21 註冊:2003-02-27
發送簡訊給我
|
我定義了一個Base class以及一個繼承Base的Basic class
我想new出 一個Basic的物件(Panel),不知道
Base *a=new Basic(^^^^^^^);中的^^^^^^^要輸入什麼
才能成功 //-------------------
#include
#pragma hdrstop #include "Unit1.h"
//---------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1; class Base{
private:
TPanel *mcptr;
public:
Base(TPanel *obj){
mcptr=obj;
}
virtual ~Base();
};
class Basic:public Base{
public:
Basic(TPanel *u):Base(u){};
};
//-----------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner) {
}
//----------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ Base *a=new Basic(^^^^^^^);
}
//--------------------------------------------------
|
jessechan
版主
發表:109 回覆:394 積分:254 註冊:2002-04-05
發送簡訊給我
|
如果你在 form 上已經放了一個 TPanel, 就直接把那個指標放進去. 你的問題實在很糢糊, 事實上只要不做什麼事情, 我就算放一個空的 TPanel 的指標或是把其它的指標 casting 成 TPanel * 也不會有錯. Jesse Chan
------ Jesse Chan
|
biau
一般會員
發表:25 回覆:32 積分:21 註冊:2003-02-27
發送簡訊給我
|
謝謝你....
我還沒有在Form1上放 Panel!!
我想在Form1上動態產生一個Panel
再產生一個Basic Class繼承這個Panel
(Basic Class上我想放入文字,圖片)
想用繼承的方式運作. 只是不知道如何在Run time時
動態產生一個Panel
|
brant
一般會員
發表:1 回覆:64 積分:23 註冊:2003-04-07
發送簡訊給我
|
物件在 new 的時候會依據傳入的參數決定要呼叫哪一個 constructor
看一下您要 new 的 class 的 constructor 有哪些
然後去了解各個 constructor 的用途
這樣您就知道要傳什麼給它了。 我的回答只給一個方向,剩下的就靠你自己了!!!
~~不喜歡大大來大大去的,沒事不要往我臉上塗奶油~~
|
jessechan
版主
發表:109 回覆:394 積分:254 註冊:2002-04-05
發送簡訊給我
|
動態產生 panel
TPanel * pNewPanel = new TPanel(this);
要在 Form 上顯示得出來還要記得加上
pNewPanel->Parent = this;
用完後要記得
delete pNewPanel; Jesse Chan
------ Jesse Chan
|