【上位机——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;
相关推荐
C语言小火车1 分钟前
【C++八股文】基础知识篇
c++·tcp/ip·const·智能指针·多线程同步·static关键字·c++内存模型
liulilittle17 分钟前
IP校验和算法:从网络协议到SIMD深度优化
网络·c++·网络协议·tcp/ip·算法·ip·通信
眠りたいです29 分钟前
基于脚手架微服务的视频点播系统-播放控制部分
c++·qt·ui·微服务·云原生·架构·播放器
耶啵奶膘42 分钟前
uni-app头像叠加显示
开发语言·javascript·uni-app
看海天一色听风起雨落1 小时前
Python学习之装饰器
开发语言·python·学习
Want5951 小时前
C/C++圣诞树①
c语言·开发语言·c++
老赵的博客1 小时前
c++ 杂记
开发语言·c++
jimmy.hua1 小时前
[C++刷怪笼]:set/map--优质且易操作的容器
开发语言·c++
tan180°1 小时前
Boost搜索引擎 网络库与前端(4)
linux·网络·c++·搜索引擎
bkspiderx2 小时前
C++经典的数据结构与算法之经典算法思想:贪心算法(Greedy)
数据结构·c++·算法·贪心算法