亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

MFC創建模態對話框和非模態對話框的方法

2020-01-26 15:27:31
字體:
來源:轉載
供稿:網友

在MFC中對話框有兩種形式,一個是模態對話框(model dialog box),一個是非模態對話框(modeless dialog box)。本文對此分別簡述其創建方法。

一、模態對話框(model dialog box)

在程序運行的過程中,若出現了模態對話框,那么主窗口將無法發送消息,直到模態對話框退出才可以發送。
點擊模態對話框中的OK按鈕,模態對話框會被銷毀。
創建一個模態對話框的代碼如下所示:

//創建一個模態對話框CTestDialog td;td.DoModal(); 

其中CTestDialog為我自己所新建的和一個對話框資源相關聯的對話框類。
可以創建一個布局模態對話框類變量,不用擔心它會隨著所在函數返回而被銷毀。因為DoModal()函數的一個功能是,當前只能運行此模態對話框,且停止主窗口的運行,直到模態對話框退出,才允許主窗口運行。
DoModal()函數也有顯示對話框的功能,所以也無需調用其他函數來顯示對話框。

二、非模態對話框(modaless dialog box)

在程序運行的過程中,若出現了非模態對話框,主窗口還可以發送消息。
點擊非模態對話框中的OK按鈕,非模態對話框沒有銷毀,只是隱藏了。若想點擊OK按鈕時,非模態對話框也銷毀,那么CTestDialog類必須重載其基類CDialog的虛函數OnOK(),在此函數里調用DestroyWindow()來銷毀此對話框。

此處采用和上面一樣的方式來創建一個非模態對話框,代碼如下:

CTestDialog td;td.Create(IDD_DIALOG1); //創建一個非模態對話框td.ShowWindow(SW_SHOWNORMAL); //顯示非模態對話框

那么,在運行時,你會發現此對話框無法顯示。這是因為你聲明的對話框變量td是局部變量,但這個函數返回時,td也被析構了,所以無法顯示此對話框。

創建非模態對話框,必須聲明一個指向CTestDialog類的指針變量,且需要顯示的調用ShowWindow()才能將對話框顯示出來。有兩種創建方法:

(1)采用局部變量創建一個非模態對話框

//采用局部變量創建一個非模態對話框CTestDialog *pTD = new CTestDialog();pTD->Create(IDD_DIALOG1); //創建一個非模態對話框pTD->ShowWindow(SW_SHOWNORMAL); //顯示非模態對話框

因為指針在聲明的時候是被放在堆棧中,只有整個應用程序關閉后才會被銷毀,所以可以正常顯示對話框。
這種方法雖然不影響程序的運行,可是指針pTD所指向的內存卻導致不可用,這樣的編程很不好。

(2)采用成員變量創建一個非模態對話框
首先在你所要編寫的類的頭文件中聲明一個指針變量:

private:CTestDialog *pTD;

然后再在相應的CPP文件,在你要創建對話框的位置添加如下代碼:

//采用成員變量創建一個非模態對話框pTD = new CTestDialog(); //給指針分配內存pTD->Create(IDD_DIALOG1); //創建一個非模態對話框pTD->ShowWindow(SW_SHOWNORMAL); //顯示非模態對話框

最后在所在類的析構函數中收回pTD所指向的內存:

delete pTD;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一二三视频| 国产精品电影在线观看| 色哟哟网站入口亚洲精品| 久久视频在线观看免费| 国产91九色视频| 2018中文字幕一区二区三区| 久久人人97超碰精品888| 日韩av男人的天堂| 性金发美女69hd大尺寸| 久久久噜噜噜久久久| 一区二区三区高清国产| 欧美电影免费播放| 欧美电影在线观看高清| 欧美国产日韩在线| 成人激情视频网| www.99久久热国产日韩欧美.com| 欧美自拍视频在线观看| 91国在线精品国内播放| 亚洲乱码国产乱码精品精天堂| 亚洲国产成人爱av在线播放| 亚洲精品wwww| 综合欧美国产视频二区| 97在线日本国产| 国产欧美日韩91| 亚洲欧美激情精品一区二区| 97在线视频免费观看| 亚洲激情自拍图| 亚洲国产成人爱av在线播放| 欧美色视频日本版| 亚洲精品国产精品久久清纯直播| 尤物精品国产第一福利三区| 欧美精品激情blacked18| 欧美日韩免费区域视频在线观看| 日韩高清电影好看的电视剧电影| 日韩精品欧美国产精品忘忧草| 揄拍成人国产精品视频| 国产精品极品美女粉嫩高清在线| 大伊人狠狠躁夜夜躁av一区| 国产精品88a∨| 国产精品久久99久久| 亚洲天堂第一页| 91av免费观看91av精品在线| 国产精品免费一区二区三区都可以| 欧美在线视频免费观看| 一区二区欧美亚洲| 亚洲国产天堂久久综合| 国产精品久久在线观看| 国产日产亚洲精品| 国语自产精品视频在线看| 亚洲一区二区三区乱码aⅴ| 久久手机免费视频| 日韩精品在线看| 欧美丝袜一区二区三区| 成人欧美一区二区三区黑人| 69国产精品成人在线播放| 在线观看国产欧美| 亚洲精品视频久久| 亚洲国产一区二区三区四区| 久久全球大尺度高清视频| 伊人久久久久久久久久久久久| 国产免费亚洲高清| 丝袜亚洲另类欧美重口| 97视频在线观看网址| 九九久久精品一区| 国产精品黄页免费高清在线观看| 亚洲成人网在线观看| 久久久999国产| 亚洲国产成人精品久久| 亚洲影院色在线观看免费| 68精品国产免费久久久久久婷婷| 亚洲精品自拍视频| 久久精品国产一区二区三区| 中日韩美女免费视频网站在线观看| 91精品视频在线免费观看| 日韩大片在线观看视频| 午夜精品久久久久久99热| 国产综合在线观看视频| 欧美视频一区二区三区…| 亚洲成色www8888| 午夜美女久久久久爽久久| 亚洲天堂免费在线| 久久视频在线免费观看| 国产精品69av| 国产乱肥老妇国产一区二| 欧美日韩视频免费播放| 91免费视频国产| 色偷偷偷亚洲综合网另类| 俺也去精品视频在线观看| 日韩精品免费观看| 亚洲国产精品成人av| 日韩一中文字幕| 色综合视频一区中文字幕| 久久最新资源网| 欧美性猛交xxxxx免费看| 91在线观看免费观看| 国产精品高清免费在线观看| 亚洲人午夜精品免费| 久久天天躁夜夜躁狠狠躁2022| 色综合伊人色综合网| 日韩亚洲欧美中文高清在线| 国内精品小视频| 日韩精品在线免费| 亚洲色图色老头| 国产一区二区三区视频免费| 国产成人免费av| 国模视频一区二区三区| 亚洲国产精品一区二区三区| 日韩美女主播视频| 欧美孕妇性xx| 日韩女优人人人人射在线视频| 国外视频精品毛片| 欧美日韩国产一区二区三区| 国产精品久久久久久久久久久久| 欧美大尺度电影在线观看| 九色精品美女在线| 成人深夜直播免费观看| www亚洲欧美| 国产69久久精品成人| 精品国产户外野外| 国产精品草莓在线免费观看| 亚洲成人a级网| 久久久精品国产一区二区| 伊人青青综合网站| 91色视频在线导航| 成人网页在线免费观看| 久久综合亚洲社区| 日韩电影免费在线观看| 久久久久久成人| 日韩中文在线不卡| 国产丝袜高跟一区| 国产成人av在线播放| 亚洲美女精品久久| 久久精品国产v日韩v亚洲| 国产精品久久久精品| 一本色道久久综合狠狠躁篇怎么玩| 精品久久久久久久久久久久| 久久婷婷国产麻豆91天堂| 日本精品免费一区二区三区| 国产在线精品成人一区二区三区| 性欧美视频videos6一9| 中文字幕亚洲综合| 亚洲一区二区三区四区视频| 亚洲精品aⅴ中文字幕乱码| 91成人在线视频| 日韩中文第一页| 国内精品小视频| 青青草原一区二区| 成人性生交xxxxx网站| 日韩最新中文字幕电影免费看| 欧美亚洲另类在线| 亚洲福利视频二区| 国模精品系列视频| 日韩hd视频在线观看| 国产精品成人av性教育| 色伦专区97中文字幕| 日韩免费观看视频| 国内免费久久久久久久久久久| 影音先锋日韩有码| 九九精品在线视频| 欧美日韩在线另类| 国产精品久久久久久久久男| 欧美激情视频一区二区三区不卡| 日本高清视频一区| 98精品国产高清在线xxxx天堂|