【上位机——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;
相关推荐
love530love7 分钟前
命令行创建 UV 环境及本地化实战演示—— 基于《Python 多版本与开发环境治理架构设计》的最佳实践
开发语言·人工智能·windows·python·conda·uv
陪我一起学编程30 分钟前
MySQL创建普通用户并为其分配相关权限的操作步骤
开发语言·数据库·后端·mysql·oracle
麦子邪32 分钟前
C语言中奇技淫巧04-仅对指定函数启用编译优化
linux·c语言·开发语言
破刺不会编程1 小时前
linux线程概念和控制
linux·运维·服务器·开发语言·c++
henreash1 小时前
NLua和C#交互
开发语言·c#·交互
程序员编程指南1 小时前
Qt OpenGL 集成:开发 3D 图形应用
c语言·数据库·c++·qt·3d
萌新小白的逆袭2 小时前
《Maven 核心基础笔记(第一天)》
java·开发语言·spring
小徐不徐说2 小时前
动态规划:从入门到精通
数据结构·c++·算法·leetcode·动态规划·代理模式
苦学编程的谢2 小时前
MyBatis_3
java·开发语言·后端·mybatis
go54631584653 小时前
Python点阵字生成与优化:从基础实现到高级渲染技术
开发语言·人工智能·python·深度学习·分类·数据挖掘