• 基于对话框_消息处理


    编译环境

    • Windows 10

    • 基于对话框

    MFC建立基础对话框

    消息处理

    新建【MFC_基于对话框_消息处理】的项目,这个文件的中的类继承自 CWinApp。主要是由InitInstance()函数实现的。

    
    // MFC_基于对话框_消息处理.h: PROJECT_NAME 应用程序的主头文件
    //
    
    #pragma once
    
    #ifndef __AFXWIN_H__
    	#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
    #endif
    
    #include "resource.h"		// 主符号
    
    
    // CMFC基于对话框消息处理App:
    // 有关此类的实现,请参阅 MFC_基于对话框_消息处理.cpp
    //
    
    class CMFC基于对话框消息处理App : public CWinApp
    {
    public:
    	CMFC基于对话框消息处理App();
    
    // 重写
    public:
    	virtual BOOL InitInstance();
    
    // 实现
    
    	DECLARE_MESSAGE_MAP()
    };
    
    extern CMFC基于对话框消息处理App theApp;
    
    

    InitInstance()里声明一个对话框类,【CMFC基于对话框消息处理Dlg】是另一个文件里的类,也就是主要功能代码都是在这个类里面写的。

    // CMFC基于对话框消息处理App 初始化
    
    BOOL CMFC基于对话框消息处理App::InitInstance()
    {
    	CWinApp::InitInstance();
        ...代码省略...
        // 生成界面
    	CMFC基于对话框消息处理Dlg dlg;
    	m_pMainWnd = &dlg;
    	INT_PTR nResponse = dlg.DoModal();
    	if (nResponse == IDOK)
    	{
    		// TODO: 在此放置处理何时用
    		//  “确定”来关闭对话框的代码
    	}
    	else if (nResponse == IDCANCEL)
    	{
    		// TODO: 在此放置处理何时用
    		//  “取消”来关闭对话框的代码
    	}
    	else if (nResponse == -1)
    	{
    		TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。
    ");
    		TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。
    ");
    	}
    
    	// 删除上面创建的 shell 管理器。
    	if (pShellManager != nullptr)
    	{
    		delete pShellManager;
    	}
    
    
  • 相关阅读:
    Java中有哪些无锁技术来解决并发问题?如何使用?
    什么是活锁和饥饿?
    如何避免死锁?
    什么是死锁?
    synchronized锁的升级原理是什么?
    Java中的锁之间的区别是什么?
    可重入锁与不可重入锁之间的区别与性能差异?
    数据库分库的策略
    QPS、PV和需要部署机器数量计算公式(转)
    LVS Nginx HAProxy 优缺点
  • 原文地址:https://www.cnblogs.com/17bdw/p/10339884.html
Copyright © 2020-2023  润新知