請問如何在自訂類別中呼叫VCL元件 |
尚未結案
|
bcswlmpke
一般會員 發表:5 回覆:2 積分:1 註冊:2004-11-09 發送簡訊給我 |
|
windblown
中階會員 發表:0 回覆:117 積分:98 註冊:2003-11-14 發送簡訊給我 |
1 依照你的想法,你就用 TImage* 作為參數就好了
2 依照你的需求,才決定是否要 ctor
ex:
class MyClass { TImage* mImage; Myclass(TImage* pImg) mImage(pImg) {}; // 可以這樣把外部的 image 放到內部「慢慢使用」 void UseImage() {}; // 利用 mImage 來處理 void UseImage(TImage* pImg) {}; // 由外界傳入 image 來使用 }; |
bcswlmpke
一般會員 發表:5 回覆:2 積分:1 註冊:2004-11-09 發送簡訊給我 |
|
windblown
中階會員 發表:0 回覆:117 積分:98 註冊:2003-11-14 發送簡訊給我 |
我把測試過程寫下,讓你參考
1 準備 image, button
2 我的 code 如下
class MyClass { public: TImage* mImage; MyClass(TImage* pImg) : mImage(pImg) {}; // 可以這樣把外部的 image 放到內部「慢慢使用」 void UseImage(); // 利用 mImage 來處理 void UseImage(TImage* pImg); // 由外界傳入 image 來使用 }; void MyClass::UseImage() { mImage->Canvas->TextOut(10, 10, "Hello"); } void MyClass::UseImage(TImage* pImg) { pImg->Canvas->TextOut(10, 30, "World"); } MyClass* mMyClass;3 在 FormCreate() 內,建立 MyClass void __fastcall TForm1::FormCreate(TObject *Sender) { mMyClass=new MyClass(Form1->Image1); }4 在 ButtonClick() 內,執行 Image 的動作 void __fastcall TForm1::Button1Click(TObject *Sender) { mMyClass->UseImage(); // 使用 class 內部的 image mMyClass->UseImage(Form1->Image1); }不知道是否跟你的想法有不同? 大家來討論 |
bcswlmpke
一般會員 發表:5 回覆:2 積分:1 註冊:2004-11-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |