在MFC工程中新建一個對話框

1.MFC簡介

Microsoft Foundation Class微軟基礎類庫,這個類集以層次結構組織起來,其中封裝了發部分的Windows API函數和Windows控件,它所包含的功能設計整個Windows操作系統。使用MFC類庫和VC++提供的高度可視的應用開發工具,可使應用程序開發更加簡單,開發週期大大縮短,提高代碼的可靠性和可重用性。

2.任務

新建一個MFC工程後,選在經典MFC界面,下一步下一步...然後編譯即可得到一個最基本的MFC工程。該工程存在一個菜單欄,用戶區和一個工具欄。在菜單欄中有一個叫做“關於”的菜單項,點擊即可彈出一個模式對話框。爲了加深對MFC框架的理解,我想在這個工程中添加一個自己的對話框,從而瞭解到底是哪些部分在操縱着對話框資源的建立和使用。

3.過程

1.爲各個需要用到的資源分配ID




2.在主程序窗口類中添加響應函數聲明並在.cpp文件中實現

void CCaculatorApp::OnMydlg()
{
	CMYDLG MyDlg;
	MyDlg.DoModal();
}
3.在.cpp文件的消息映射中添加與自己的對話框有關的消息映射

BEGIN_MESSAGE_MAP(CCaculatorApp, CWinApp)
	ON_COMMAND(ID_APP_ABOUT, &CCaculatorApp::OnAppAbout)
	ON_COMMAND(ID_32772,&CCaculatorApp::OnMydlg)
	// 基於文件的標準文檔命令
	ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
	// 標準打印設置命令
	ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()
3.新建一個對話框類繼承CDialogEx,與資源文件中自己的對話框綁定

class CMYDLG : public CDialogEx
{
public:
	CMYDLG();

// 對話框數據
	enum { IDD = IDD_MYDLG };

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
//// 實現(若對話框內無空間則不添加下面那條消息映射聲明,否則編譯出錯)
//protected:
//	DECLARE_MESSAGE_MAP()
};

4.效果

點擊“計算單元”中的“我的對話框”,彈出成功。





發佈了35 篇原創文章 · 獲贊 42 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章