MFC,想在對話方塊裡面呼叫另對話的引數,怎麼辦呀

時間 2021-09-14 09:36:09

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中子對話方塊中的listcontrl控制元件翱

比如控制元件變數為c list,初始化 如下 c list.modifystyle 0,lvs report c list.setextendedstyle lvs ex gridlines lvs ex fullrowselect 以上是樣式初始化 c list.insertcolumn 1,t ...

開機畫面的對話方塊,電腦開機出現對話方塊

開始 設定 控制面板 在分類檢視中 使用者帳戶 更改使用者登入或登出方式 使用歡印螢幕鉤選,重啟,可切換為xp經典啟動。取消密碼,同樣,開始 設定 控制面板 在分類檢視中 使用者帳戶 選啟動的管理員並帶密碼保護的那個圖示 刪除我的密碼即可。開啟控制面板裡的使用者帳戶,把能刪除的使用者全部刪除就好了,...

如何使用javascript彈出對話方塊

1 彈出普通對話方塊使用alert函式,例如 alert hello world 2 彈出確認對話方塊使用confirm函式,例如var result confirm 確定退出麼?3 使用彈出模態網頁窗體。4 使用vreturnvalue window.showmodelessdialog surl...