日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

019.MFC_两种对话框

發(fā)布時間:2024/1/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 019.MFC_两种对话框 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?對話框分為模態(tài)和非模態(tài)對話框兩種

模態(tài)對話框(Modal)?

d.DoModal()

必須關(guān)閉才能返回主窗口

非模態(tài)對話框(Modaless)

p->Create(IDD_DIALOG,this);

p->ShowWindow(SW_SHOW);

一、建立mfc工程,添加Edit Control組件設(shè)置屬性如圖

?

二、添加兩個button 到對話框并分別設(shè)置兩個button的caption屬性為打開模態(tài)對話框 和 打開非模態(tài)對話框

?

三、在資源視圖中、右鍵單擊dialog,選擇插入dialog,并設(shè)置對話框id屬性為IDD_FIRST_DIALOG,右鍵單擊選擇添加類,類名填寫CFirstDlg,點擊確定
同理添加第二個對話框,id屬性為IDD_SECOND_DIALOG,右鍵單擊選擇添加類,類名填寫CSecondDlg,點擊確定

?

四、主窗口雙擊打開模態(tài)對話框進入主窗口對應(yīng)文件dialogDlg.cpp

?

在dialogDlg.cpp 文件中添加
#include "FirstDlg.h"
void CdialogDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知處理程序代碼
CFirstDlg dlg;
dlg.DoModal();
}
同理在主窗口雙擊打開非模態(tài)對話框進入主窗口對應(yīng)文件dialogDlg.cpp添加
#include "SecondDlg.h"
void CdialogDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知處理程序代碼
//必須要用指針
CSecondDlg *pDlg = new CSecondDlg;
pDlg->Create(IDD_SECOND_DIALOG,this);//arg1:要創(chuàng)建的對話框ID,arg2:父窗口指針
pDlg->ShowWindow(SW_SHOW);
}
由于非模態(tài)對話框使用指針,所以對話框在關(guān)閉時必須將它銷毀,
類視圖->選中CSecondDlg->屬性對話框中選擇重寫選中PostNcDestroy
進入SecondDlg.cpp 添加
void CSecondDlg::PostNcDestroy()
{
// TODO: 在此添加專用代碼和/或調(diào)用基類
delete this;

CDialogEx::PostNcDestroy();
}

至此兩種模式的對話框都已添加完畢。

轉(zhuǎn)載于:https://www.cnblogs.com/Malphite/p/10822920.html

總結(jié)

以上是生活随笔為你收集整理的019.MFC_两种对话框的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。