不用向导手写mfc程序(建win32 app 工程,project setting 里设置成share MFC dll)可以让人更清楚的了解到MFC程序的架构。和SDK的流程其实是相同的。MFC也有窗口类设计,窗口类注册,窗口创建,窗口绘制,消息循环,窗口过程。然而,MFC把这些过程都封装起来了。使程序员在编程是不要处理很多可以模块化的东西,比如通用窗口的设计,注册,创建,绘制等,只有要产生自己所想要的窗口时才需要重载一些virtual函数,一般情况下MFC预先注册的窗口时够用的。所以的窗口设置的窗口函数都是DefWindowProc 成员函数,但事实上消息并不是在这里处理,而是一个名为AfxWndProc 的全域函数去。MFC的消息映射机制将消息循环完全封装起来,留给程序员的就是写消息对应的函数。MFC中字符串,图标,对话框,位图,菜单栏,光标等,都可以当成资源使用,编辑好通过ID号就可以使用。
一个简单的MFC程序
一个简单的MFC程序