【上位机——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;
相关推荐
泉飒1 小时前
lua注意事项
开发语言·笔记·lua
hao_wujing2 小时前
使用逆强化学习对网络攻击者的行为偏好进行建模
开发语言·网络·php
还是鼠鼠2 小时前
单元测试-概述&入门
java·开发语言·后端·单元测试·log4j·maven
AgilityBaby3 小时前
UE5打包项目设置Project Settings(打包widows exe安装包)
c++·3d·ue5·游戏引擎·unreal engine
明月看潮生3 小时前
青少年编程与数学 02-020 C#程序设计基础 14课题、程序调试
开发语言·青少年编程·c#·编程与数学
抽风的雨6104 小时前
【python深度学习】Day 42 Grad-CAM与Hook函数
开发语言·python·深度学习
Mikhail_G4 小时前
Python应用for循环临时变量作用域
大数据·运维·开发语言·python·数据分析
人衣aoa5 小时前
Python编程基础(二)| 列表简介
开发语言·python
让我们一起加油好吗5 小时前
【基础算法】高精度(加、减、乘、除)
c++·算法·高精度·洛谷
Forest_HAHA5 小时前
<5>, Qt系统相关
开发语言·qt