从使用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;
答案 0 :(得分:3)
与普通的c / c ++应用程序不同,其中入口点是主要的,您可以完全控制执行流程。 MFC应用程序是事件驱动的。您编写的代码是根据用户与应用程序交互而发生的事件执行的,例如,单击按钮,在文本框中输入文本等。当没有交互时,应用程序处于空闲状态。
1)OnInitDialog放置初始化代码的最佳位置。您可以初始化OnInitDialog中的所有成员变量。 (请记住,winMain是Windows应用程序的入口点。但是在MFC中,它嵌入在样板代码的深处。)
2)添加消息处理程序以处理稍后执行核心逻辑的用户操作。例如:如果对话框上有一个按钮,则需要为按钮添加消息处理函数,当用户单击该按钮时将调用该函数。这可以使用类向导(https://msdn.microsoft.com/en-us/library/ee748520.aspx)轻松完成。