这个基本 MFC 对话框应用程序的入口点是什么?
What is the entry point of this basic MFC Dialogue Box Application?
开始使用 C++ 进行 GUI 编程。因此,按照一些教程,我 'wrote' 下面的代码显示了一个对话框。老实说,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;
不同于正常的 c/c++ 应用程序,后者的入口点是 main,您可以完全控制执行流程。 MFC 应用程序是事件驱动的。您编写的代码是根据用户与应用程序交互时发生的事件执行的,例如单击按钮、在文本框中输入文本等。当没有交互时,应用程序处于空闲状态。
1) 最好的地方是 OnInitDialog 来放置你的初始化代码。您可以在 OnInitDialog 中初始化所有成员变量。 (记住 winMain 是 windows 应用程序的入口点。但在 MFC 中,它深嵌在样板代码中。)
2) 添加消息处理程序来处理用户操作,以便稍后执行您的核心逻辑。例如:如果对话框上有一个按钮,那么您需要为该按钮添加消息处理函数,当用户单击该按钮时将调用该函数。这可以使用 class 向导 (https://msdn.microsoft.com/en-us/library/ee748520.aspx) 轻松完成。
开始使用 C++ 进行 GUI 编程。因此,按照一些教程,我 'wrote' 下面的代码显示了一个对话框。老实说,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;
不同于正常的 c/c++ 应用程序,后者的入口点是 main,您可以完全控制执行流程。 MFC 应用程序是事件驱动的。您编写的代码是根据用户与应用程序交互时发生的事件执行的,例如单击按钮、在文本框中输入文本等。当没有交互时,应用程序处于空闲状态。
1) 最好的地方是 OnInitDialog 来放置你的初始化代码。您可以在 OnInitDialog 中初始化所有成员变量。 (记住 winMain 是 windows 应用程序的入口点。但在 MFC 中,它深嵌在样板代码中。)
2) 添加消息处理程序来处理用户操作,以便稍后执行您的核心逻辑。例如:如果对话框上有一个按钮,那么您需要为该按钮添加消息处理函数,当用户单击该按钮时将调用该函数。这可以使用 class 向导 (https://msdn.microsoft.com/en-us/library/ee748520.aspx) 轻松完成。