C++笔记:MFC框架程序剖析
来源:优易学  2011-12-17 15:44:02   【优易学:中国教育考试门户网】   资料下载   IT书店

  第三章讲的是MFC框架程序剖析,结合着视频和书看了一遍之后,只能有一个粗略的了解。先记下一个概念:MFC(Microsoft Function Class ,微软基础类库)。

  MFC AppWizard

  一个辅助生成源代码的向导工具,可以帮助我们自动生成基于MFC的源代码。第一章提到了创建一个Win32应用程序需要经过下列步骤。

  编写WinMain函数

  设计窗口类(WNDCLASS);

  注册窗口类(RegisterClass);

  创建窗口(CreateWindow);

  显示并更新窗口(ShowWindow|UpdateWindow);

  编写消息循环;

  编写窗口过程函数。

  而基于MFC AppWizard的应用程序的在生成上和Win32相似,只是对其中的一些过程进行了封装,并提供了一些自定义。

  全局变量和对象

  Main函数是程序的入口函数,而在程序入口main函数加载之前,系统就会为全局变量和对象分配地址空间。

  窗口类,窗口类对象和窗口

  窗口是屏幕上的一块儿矩形区域;窗口类是封装了对窗口的一系列操作的类,比如注册窗口,创建窗口,显示窗口,销毁窗口等等;窗口对象是窗口类的一个实例。

  C++窗口类对象和窗口并不是一回事,他们之间唯一的关系是C++窗口类对象内部定义了一个窗口句柄变量,保存了与这个C++窗口类对象相关的那个窗口的句柄,窗口销毁时,与之对象的C++窗口的类对象是否销毁要看其生命周期是否结束。但是如果窗口类对象销毁,那与之对应的窗口也将销毁。

  动态创建一个按钮

  在MFC提供的资源类中,有些类的构造直接通过其构造函数就可以完成,也就是说,这些对象的构造函数包含这个对象的初始化操作。但是有些对象的产生出了调用构造函数之外,还需要一些函数来进行初始化的工作。

  在MainFrame头文件中添加一个CButton对象 view sourceprint?1 private: CButton m_btn;

  调用Create函数,创建窗口。 view sourceprint?1 //BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

  2 m_btn.Create("Test",WS_CHILD|BS_DEFPUSHBUTTON,CRect(0,0,200,200),this,1);

  3 m_btn.ShowWindow(SW_SHOWNORMAL);

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训