請問如何在兩個 form 上執行同一隻程式? |
尚未結案
|
760729
一般會員 發表:32 回覆:51 積分:16 註冊:2004-09-08 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
在Form2(in Unit2.cpp)上放一個TTreeView(named TreeView1). 並在Form1.cpp #include "Unit2.h".
下圖為點下Form1上的第一個Node, 並將此Node(包含它的children)複製到Form2的TreeView
//--------------------------------------------------------------------------- #include |
760729
一般會員 發表:32 回覆:51 積分:16 註冊:2004-09-08 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
760729 您好: 如果您要由程式本身以傳送參數的方式來執行自己的話,有幾點您可以參考一下: 1. 在程式開頭處以下列方式來檢查是否有參數傳遞給自己:
if(ParamCount()>0){ AnsiString argv=ParamStr(1); SHowMessage("我得到的第一個參數是:" argv); }ParamCount() 是傳入參數的數量,ParamStr(1) 就是傳入的第一個參數字串,您可以透過這個字串來做後後續的動作,以您的例子而言,可以將參數字串轉為數字,然後當做 TreeView 之 RootNode 的依據,然後依據該值來建立 TreeView 即可,當然啦~如果您傳入的參數不只一個,那就依據 ParamCount() 值來做個迴圈,比照辦理即可取得各個參數了。 2. 要加上參數來呼叫程式自身時: AnsiString RunStr = ParamStr(0) " 123"; WinExec(RunStr.c_str(), SW_SHOWNORMAL);上例中:ParamStr(0) 是指向程式本身,"123" 是虛擬的參數字樣,程式與參數之間要留有一個以上的空格,以您的例子而言,可以將點選的 node 值轉為字串後當作參數,如果參數不只一個,那就得在各個參數間都加上空格來分隔。 上述方式僅是重點提示,如果要要將其實用化,應該還要依據實際需求做些相關的設定與檢查,例如:是否要告知 TreeView 的資料來源 (以便建立新的 TreeView)、檢查呼叫程式的來源 (以便被誤叫,而產生錯誤)....等等的。 |
760729
一般會員 發表:32 回覆:51 積分:16 註冊:2004-09-08 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |