1樓:匿名使用者
當然不可以,你沒法獲得對方的成員;
你要獲得它執行的例項物件;
2個程序的通訊,麻煩點;
但是你可以通過hwnd h=findwindow(「 」,視窗名字);來獲取控制代碼
cwnd*w=cwnd::fromhandler(h);
然後就可以做了
例如第2個對話方塊的成員為 int a=0;
給他夠找一個方法
int geta()
void seta(int a)
那麼在對話方塊1對用
int a=w->geta();a=a+1;
w->seta(a);
2樓:匿名使用者
申明a為b的成員函式不就可以訪問a裡面的變數了。。
如果要相互訪問,那麼設定為指標成員。
還有一種方法就是間接的方法。再定義一個類c。ab操作c中的變數。
3樓:匿名使用者
如果是同級的視窗a跟b,在b類中宣告一個a的成員,然後就能在b類中通過成員來訪問a類中的變數了。記得要在b類中新增a類的標頭檔案,另外兩個類是兩個對話方塊類。如果是一個父視窗一個子視窗,子視窗信引用父視窗中的變數,需要用getparent()
mfc中如何在一個對話方塊中呼叫另外一個對話方塊的函式
4樓:幸巴達
你可以把主對話方塊類的指標傳給新對話方塊.
通過這個指標呼叫主對話方塊的東西.
假設主對話方塊為cmaindlg,新對話方塊為cchilddlg;
// cchilddlg 呼叫主對話方塊的doother函式;
// 當然非模態對話方塊等其他任何對話方塊也可以這樣做.
class cmaindlg
void doother(){}
};class cchilddlg
cchilddlg():m_pmain(null){}};
5樓:走出憧憬
沒個對話方塊就是一個類啊 你在這個對話方塊類裡面定義一個主對話方塊的物件,然後就可以用該物件呼叫主對話方塊的函式了。
6樓:匿名使用者
postmessage是win32裡常用的做法,可以將所需要的所有資料(包括函式地址)封裝到一個struct的結構裡.
"走出憧憬"的做法不可行,這種方法無法獲得主視窗的執行環境,也就是無法使用在主視窗裡已經使用的一些變數的數值.
最簡單的還是"魔高丈"的做法了.只要這兩個視窗具有父子關係.
7樓:匿名使用者
使用全域性變數,再用extern外部宣告他們
8樓:匿名使用者
postmessage
9樓:魔高丈
cmasterdlg *pparent = (cmasterdlg *)getparent();
mfc如何呼叫自己的對話方塊,MFC如何呼叫自己的對話方塊
先在類檢視中右鍵,新建一個對話方塊類,然後向上面說的建立一個物件,呼叫domodal,也可以用指標呼叫,但這建立的時模態對話方塊,可以用creat函式,showwindow函式建立非模態對話方塊例如 if iswindow m student.m hwnd 建立並顯示非模態對話方塊 m studen...
vc對話方塊裡繪圖, VC 對話方塊裡繪圖
繪圖一般使用picture控制元件,其他static控制元件也可以為了不將圖畫出控制元件,可以這樣做 用雙緩衝繪圖,建立一個和控制元件一樣大小的相容點陣圖就可以了。發給你了,具體請參考 超出範圍得自己判斷,然後根據實際情況來lineto 如果你是指自繪風格的控制元件的話,設定控制元件屬性為owner...
關於VB中通用對話方塊的問題,vb通用對話方塊的問題
看你用了幾個通用對話方塊控制元件,如果是幾個命令按鈕控制一個通用對話方塊控制元件。第一次使用之後。commondialog1.filename 屬性就會記錄下來。然後在你按另存的時候。點取消或是關閉,就會提示出錯。所以在你開啟另存視窗前一定要把 commondialog1.filename 清空。即...