Main Form要如何嵌入DLL中的Form...? |
尚未結案
|
superchuang
一般會員 發表:3 回覆:3 積分:1 註冊:2002-03-13 發送簡訊給我 |
請問各位大大...
我有一個問題,功能如下圖..
我想要寫一個DLL,這個Dll會被主程式load也就是圖中紅色框框裡面的那個panel
那按左邊三個button紅色框框裡面就就會去DLL裡面分別load對應的panel
請問我應該要怎麼做呢...?
我再網路上找到一些方法,但是都是會show出一個form,而且show出來之後主程式的其他元件就不能動了...
那我現在是想要做...DLL裡面的form是嵌在主程式的Form上,然後主程式和DLL裡面的元件都可以正常動作...請問這樣可行嗎..?
|
pental
初階會員 發表:3 回覆:48 積分:30 註冊:2003-09-21 發送簡訊給我 |
|
superchuang
一般會員 發表:3 回覆:3 積分:1 註冊:2002-03-13 發送簡訊給我 |
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
superchuang您好,
您提的方法是可行的. 您只需要將panel(而非form), 及panel 上的動作
(與動態產生元件的寫法一樣)
以及creat panel的function(假設函式名為CreatPanel)用dll包起來,
例如:
extern "C" __declspec(dllexport) void _stdcall CreatPanel(TPanel *Panel1, TForm *Form)) { Panel1 = new TPanel(Form); Panel1->Parent = Form; } 然後在form裡宣告一個panel指標: class TForm1 : public TForm { //....... public: TPanel *PanelPoint; };然後在執行的form上呼叫CreatPanel(PanelPoint,Form1)即可。 那麼你按panel上的button, 所執行的event是你在dll所指定的event。 並記得寫個函式將new 的panel delete 掉。 ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |