// C++ MFC 示例代码:创建一个简单的 MFC 应用程序
// 包含必要的头文件
#include "stdafx.h"
#include "MFCDemoApp.h"
#include "MFCDemoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 唯一的应用程序对象
CWinApp theApp;
using namespace std;
class CMFCDemoApp : public CWinApp {
public:
virtual BOOL InitInstance();
};
BOOL CMFCDemoApp::InitInstance() {
// 初始化主窗口
CMFCDemoDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK) {
// 用户点击了确定按钮
} else if (nResponse == IDCANCEL) {
// 用户点击了取消按钮
}
return FALSE;
}
BEGIN_MESSAGE_MAP(CMFCDemoApp, CWinApp)
END_MESSAGE_MAP()
// 对话框类定义
class CMFCDemoDlg : public CDialogEx {
public:
CMFCDemoDlg(CWnd* pParent = nullptr); // 标准构造函数
enum { IDD = IDD_MFCDemo_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL OnInitDialog(); // 初始化对话框
DECLARE_MESSAGE_MAP()
};
CMFCDemoDlg::CMFCDemoDlg(CWnd* pParent /*=nullptr*/)
: CDialogEx(IDD, pParent) {}
void CMFCDemoDlg::DoDataExchange(CDataExchange* pDX) {
CDialogEx::DoDataExchange(pDX);
}
BOOL CMFCDemoDlg::OnInitDialog() {
CDialogEx::OnInitDialog();
// 设置对话框标题
SetWindowText(_T("MFC Demo Application"));
return TRUE; // 返回 TRUE,除非将焦点设置到控件
}
BEGIN_MESSAGE_MAP(CMFCDemoDlg, CDialogEx)
END_MESSAGE_MAP()
// 主函数入口点
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow) {
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
// 初始化应用程序
theApp.m_nCmdShow = nCmdShow;
theApp.Enable3dControls();
return theApp.Run();
}
包含必要的头文件:#include "stdafx.h"
是预编译头文件,用于加速编译过程。#include "MFCDemoApp.h"
和 #include "MFCDemoDlg.h"
分别是应用程序类和对话框类的头文件。
应用程序类:CMFCDemoApp
继承自 CWinApp
,负责应用程序的初始化和消息循环管理。InitInstance()
函数用于初始化应用程序实例,包括创建并显示主窗口。
对话框类:CMFCDemoDlg
继承自 CDialogEx
,表示应用程序的主对话框。OnInitDialog()
函数用于初始化对话框,例如设置对话框标题。
消息映射宏:BEGIN_MESSAGE_MAP
和 END_MESSAGE_MAP
宏用于定义消息映射表,将 Windows 消息与处理函数关联起来。
主函数入口点:_tWinMain
是 Win32 应用程序的入口点函数,负责初始化应用程序并启动消息循环。
这段代码展示了如何使用 MFC 创建一个简单的 Windows 应用程序,并提供了一个基本的框架结构。
上一篇:c++输入字符串
下一篇:c++类的定义
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站