模態(Modal)對話框和非模態(Modeless)對話框

------------------------------------------------2016.09.12------------------------------------------------
模態(Modal)對話框和非模態(Modeless)對話框
-----------------------------------------------
模態對話框顯示時程序暫停執行,關閉該模態對話框時后,才能繼續執行程序中其他任務。
非模態對話框顯示時,允許轉而執行程序中的其他任務,而不用關閉該對話框。
在MFC中,對資源的操作通常都是通過一個與資源相關的類來完成的。
DoDataExchange,主要用來完成對話框數據的交換和校驗。
創建模態對話框調用CDialog類的成員函數:DoModal,該函數的功能即創建并顯示一個模態對話框,其返回值作為EndDialog
的參數,EndDialog的功能即是關閉對話框。
創建非模態對話框,需要利用CDialog類的Create成員函數。
Create函數聲明:BOOL Create(LPCTSTR lpszTemplateName,CWnd* pParentWnd = NULL)
                 BOOL Create(UINT nIDTemplate,CWnd* pParentWnd = NULL)
當利用Create函數創建非模態對話框時,還需要調用ShowWindow函數將這個對話框顯示出來。
對於非模態對話框的生命週期,有兩種解決辦法:

一種就是把這對話框對象定義為視類的成員變量;
另一種方式是將它定義為指針,在堆上分配內存:
->該指針的成員變量是一個局部對象,其生命週期一旦結束,程序就無法找到它指

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值