【MFC】对话框架构

对话框分类

模式对话框(假)/无模式对话框

无模式对话框架构使用

参与架构的类:
CDialog/CWinApp

代码书写

  1. 添加对话框资源
  2. 定义一个自己的对话框类,管理对话框资源,派生自CDialog或CDialogEx均可
# include<afxwin.h>
#include"resource.h"
class CMyDlg :public CDialog {
	DECLARE_MESSAGE_MAP()
public:
	void OnLjOK();
	void OnLjCancel();
};
BEGIN_MESSAGE_MAP(CMyDlg, CDialog) 
ON_COMMAND(IDOK,OnLjOK)
ON_COMMAND(IDCANCEL,OnLjCancel)
END_MESSAGE_MAP()
void CMyDlg::OnLjOK() {
//CDialog:; OnOK();//只能将无模式对话框隐藏,并没有销毁
	::DestroyWindow(this->m_hWnd);
}
void CMyDlg::OnLjCancel() {
	//CDialog::OnCancel();
	this->DestroyWindow();
}
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;

theApp的构造:
在这里插入图片描述

执行过程

在这里插入图片描述

模式对话框(假)

代码书写:
添加对话框资源
定义一个自己的对话框类,管理对话框资源,派生自CDialog或CDialogEx

#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;

执行过程

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于MFC对话框的NT服务程序框架是在Windows系统下开发服务程序的一种基于MFC(Microsoft Foundation Class)对话框的框架架构。NT服务程序是一种在Windows系统下后台运行的程序,可以实现自动启动、无需用户交互、后台运行等功能。 基于MFC对话框的NT服务程序框架有以下特点: 1. 采用MFC对话框,可以方便地设计程序界面和交互方式,方便用户操作。 2. 可以通过类视图和资源视图快速查找和管理程序代码和资源。 3. 使用NT服务程序框架可以避免手动创建服务,可以减少代码的编写量和提高程序的可靠性和稳定性。 4. 使用NT服务程序框架可以方便地实现服务的启动、停止、暂停和重新启动等操作。 基于MFC对话框的NT服务程序框架的具体实现步骤如下: 1. 创建一个MFC对话框程序,设置项目类型为“服务程序”; 2. 在对话框程序中加入Windows服务管理相关代码,用于服务的开启、关闭、暂停和恢复等操作; 3. 实现服务程序的逻辑功能,例如对文件进行监控、实时数据同步等; 4. 编译、安装和启动服务,测试服务的功能和稳定性; 5. 在服务启动后,可以通过MFC对话框程序的用户界面和交互方式与服务进行交互。 综上所述,基于MFC对话框的NT服务程序框架使得开发Windows服务程序变得更加简单和高效,可以提高程序的可靠性和稳定性,并在服务启动后方便进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值