【上位机——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;
相关推荐
杜子不疼.29 分钟前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习
落霞的思绪1 小时前
Java设计模式详细解读
java·开发语言·设计模式
阿巴~阿巴~1 小时前
深入解析C++ STL链表(List)模拟实现
开发语言·c++·链表·stl·list
java1234_小锋2 小时前
一周学会Matplotlib3 Python 数据可视化-绘制自相关图
开发语言·python·信息可视化·matplotlib·matplotlib3
甄超锋2 小时前
Java Maven更换国内源
java·开发语言·spring boot·spring·spring cloud·tomcat·maven
旺小仔.2 小时前
双指针和codetop复习
数据结构·c++·算法
凢en2 小时前
Perl——qw()函数
开发语言·perl
jingfeng5142 小时前
C++ STL-string类底层实现
前端·c++·算法
郝学胜-神的一滴2 小时前
基于C++的词法分析器:使用正则表达式的实现
开发语言·c++·程序人生·正则表达式·stl
努力努力再努力wz4 小时前
【c++深入系列】:万字详解模版(下)
java·c++·redis