【上位机——MFC】对话框

对话框的使用

1.添加对话框资源

2.定义一个自己的对话框类(CMyDlg),管理对话框资源,派生自CDialog或CDialogEx均可

对话框架构

cpp 复制代码
#include <afxwin.h>
#include "resource.h"

class CMyDlg :public CDialog {
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnIdok();
	afx_msg void OnIdcancel();
};
BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	
	ON_COMMAND(IDOK, &CMyDlg::OnIdok)
	ON_COMMAND(IDCANCEL, &CMyDlg::OnIdcancel)
END_MESSAGE_MAP()

class CMyWinApp : public CWinApp {
public :
	virtual BOOL InitInstance();
};

BOOL CMyWinApp::InitInstance() {

	CMyDlg* pdlg = new CMyDlg;
	pdlg->Create(IDD_DIALOG1);
	m_pMainWnd = pdlg;
	pdlg->ShowWindow(SW_SHOW);
	return TRUE;
}

CMyWinApp theApp;
void CMyDlg::OnIdok()
{
	// TODO: 在此添加命令处理程序代码
	//CDialog::OnOK();//将对话框隐藏,并没有消失
	::DestroyWindow(this->m_hWnd);
}

void CMyDlg::OnIdcancel()
{
	// TODO: 在此添加命令处理程序代码
	DestroyWindow();
}

模态对话框

cpp 复制代码
#include <afxwin.h>
#include "resource.h"

class CMyDlg:public CDialog {

public:
	enum{IDD=IDD_DIALOG1};

	CMyDlg():CDialog(IDD) {

	}
};

class CMyWinApp:public CWinApp {

public:
	virtual BOOL InitInstance();

};

BOOL CMyWinApp::InitInstance() {
	CMyDlg dlg;
	m_pMainWnd = &dlg;
	dlg.DoModal();
	return TRUE;
}

CMyWinApp theApp;
相关推荐
火锅机器5 小时前
java 8 lambda表达式对list进行分组
java·开发语言·list
shaominjin1235 小时前
android在sd卡中可以mkdir, 但是不可以createNewFile
android·开发语言·python
筱砚.5 小时前
【STL——stack容器】
开发语言·c++
曦樂~5 小时前
【Qt】定时器--滚动相册
开发语言·qt
我是华为OD~HR~栗栗呀5 小时前
华为od-22届考研-测试面经
java·c++·python·功能测试·华为od·华为·面试
沐知全栈开发6 小时前
Java 文档注释
开发语言
沐怡旸6 小时前
【穿越Effective C++】条款3:尽可能使用const ——C++不变性的艺术
c++
程序_白白6 小时前
探讨一下java将来未来两年内的就业以及发展
java·开发语言
哼?~6 小时前
C++之智能指针
开发语言·c++
mjhcsp7 小时前
C++ long long 类型深度解析:大整数处理的基石
开发语言·c++·策略模式·long long