Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ mfc

作者:续写丶未来式   发布日期:2025-04-28   浏览:75

// 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();
}

解释说明:

  1. 包含必要的头文件#include "stdafx.h" 是预编译头文件,用于加速编译过程。#include "MFCDemoApp.h"#include "MFCDemoDlg.h" 分别是应用程序类和对话框类的头文件。

  2. 应用程序类CMFCDemoApp 继承自 CWinApp,负责应用程序的初始化和消息循环管理。InitInstance() 函数用于初始化应用程序实例,包括创建并显示主窗口。

  3. 对话框类CMFCDemoDlg 继承自 CDialogEx,表示应用程序的主对话框。OnInitDialog() 函数用于初始化对话框,例如设置对话框标题。

  4. 消息映射宏BEGIN_MESSAGE_MAPEND_MESSAGE_MAP 宏用于定义消息映射表,将 Windows 消息与处理函数关联起来。

  5. 主函数入口点_tWinMain 是 Win32 应用程序的入口点函数,负责初始化应用程序并启动消息循环。

这段代码展示了如何使用 MFC 创建一个简单的 Windows 应用程序,并提供了一个基本的框架结构。

上一篇:c++输入字符串

下一篇:c++类的定义

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ tcp

c++ gcd函数

c++ cli

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站