这个基本的MFC对话框应用程序的切入点是什么?

时间:2017-06-28 09:40:19

标签: c++ user-interface visual-c++ mfc entry-point

从使用C ++进行GUI编程开始。所以,按照一些教程,我写了'以下代码显示一个对话框。说实话,Visual Studio 2015向导完成了大部分工作,但这里是代码文件。它正确显示标识符指向的对话框,但我真的无法弄清楚它是如何工作的。首先,代码的切入点是什么?甚至没有一个函数,那么在构建和运行它时究竟执行了什么?

#include<afxwin.h>
#include"resource.h"

class CExampleDlg :public CDialog
{
public:
    CExampleDlg():CDialog(IDD_EXAMPLE_DLG){}
    ~CExampleDlg(){}
};

class CExample:public CWinApp
{public:
    BOOL InitInstance()
    {
        CExampleDlg myDlg;
        m_pMainWnd = &myDlg;
        myDlg.DoModal();
        return TRUE;

    }
};
CExample MyApp;                                                                            

1 个答案:

答案 0 :(得分:3)

与普通的c / c ++应用程序不同,其中入口点是主要的,您可以完全控制执行流程。 MFC应用程序是事件驱动的。您编写的代码是根据用户与应用程序交互而发生的事件执行的,例如,单击按钮,在文本框中输入文本等。当没有交互时,应用程序处于空闲状态。

1)OnInitDialog放置初始化代码的最佳位置。您可以初始化OnInitDialog中的所有成员变量。 (请记住,winMain是Windows应用程序的入口点。但是在MFC中,它嵌入在样板代码的深处。)

2)添加消息处理程序以处理稍后执行核心逻辑的用户操作。例如:如果对话框上有一个按钮,则需要为按钮添加消息处理函数,当用户单击该按钮时将调用该函数。这可以使用类向导(https://msdn.microsoft.com/en-us/library/ee748520.aspx)轻松完成。