小弟在看MFC,发现代码看不懂,请指教,我指的是基本的初始化框架。
好吧,既然大家没空,我先来。
#include<afxwin.h> //这个和#include<windows.h>有什么区别? #include<afxext.h> //不清楚什么头文件
class Clive41App: public CWinApp //派生出自己的应用程序类,从CWinApp中 { public: virtual BOOL InitInstance(); //虚拟函数方便运行时动态调用同名的派生初始化函数 //由于初始化只有成功和失败两种,于是用类型为BOOL,只有true和false两种值 };
class Clive41App: public CFrameWnd //派生自己的应用程序框架类,从CFrameWnd中 { protect: //以下声明消息处理函数 afx_msg void OnNcPaint(); //以下这两句都不懂 afx_msg BOOL OnNcActivate(BOOL bActive); DECLARE_MESSAGE_MAP(); //这里对应下面最后一行吧?_MESSAGE_MAP };
BOOL Clive41App::InitInstance() //初始化定义,在Clive41App里已声明的初始化函数 { //创建应用程序主窗口 Clice41Wnd *pWnd=new Clive41Wnd; //动态申请一个窗口对象,用来生成窗口 pWnd->Create(NULL,"这里是应用程序框架的标题"); //这里的Create函数是CWinApp系统类内自带的,用Clive41App派生后就可以使用 //显示应用程序主窗口,并更新客户区 pWnd->ShowWindow(SW_SHOW); //显示生成的窗口 pWnd->UpdateWindow(); //看窗口是否处于激活中 m_pMainWnd=pWnd; return TRUE; }
Clive41App live41App; //声明应用程序对象
//以下应用程序主窗口的消息映射 BEGIN_MESSAGE_MAP(Clive41lWnd,CWnd) ON_WN_NCPAINT() ON_WM_NCACTIVATE() END_MESSAGE_MAP()
以上是小第一个字一个字打上去的(包括代码也是),请朋友指点把剩余的都注释一下。 另外Clive41App和Clive41Wnd中的live41都是随便起的名字,反正只要派生CWinApp和CFrameWnd,起什么名字都可以的。
[此贴子已经被作者于2004-09-12 13:13:50编辑过]