MFC运行机制浅尝

用MFC写了一些东西了,但是从没有研究过MFC的运行机制。
今天试着做了一个小程序(Dlalog Based Application),尝试着探索一下MFC的运行机制,有如下发现:
CXXXAPP类是管理整个应用程序的,CXXXAPP.c Defines the class behaviors for the application。在这个文件里创建了唯一一个Global的变量theApp。MFC框架又会自动调用InitInstance()函数,在这个函数返回之后会进入AfxWinMain函数中,在这里通过判断m_pMainWnd来判断是否应用程序结束。

基于对话框的应用程序在用户角度看,可以把CxxApp类下的initInstance()函数看成是主函数。这是因为在创建一个对话框的时候系统自动调用这个函数完成初始化并且直到对话框被销毁应用程序退出。在系统自动产生的代码中判断nResponse==IDOK或者nResponse==IDCANCEL的时候对话框其实已经被销毁。如果要添加点击OK或者CANCEL按钮后的行为,则应该在CxxDlg中重载ONOK()函数。
数据更新问题:UpdateData(TRUE|FALSE)TRUE:对话框数据保存,FALSE:对话框数据更新。(UpdateData调用DoDataExchange())
注意:ONOK()会自动调用数据更新例程。

posted @ 2005-04-19 02:09  刀刀  阅读(1360)  评论(0)    收藏  举报