手工编写第一个 MFC程序 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866
昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 第一个MFC程序 自己动手写一个MFC窗口程序
本节需要掌握的知识点 1、本节必须掌握的知识点 A : CWinApp可以覆盖的虚函数 InitInstance 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 本节需要掌握的知识点 1、本节必须掌握的知识点 A : CWinApp可以覆盖的虚函数 InitInstance B : CWinApp成员变量m_pMainWnd C : CFramWnd的成员函数create以及参数 2、需要简单了解的内容 A :通过MSDN去看MFC的层次结构图 B : 对CWinApp有个初步的认识 C :对CFramWnd有个初步的认识
昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 MFC学习环境 VC6.0
自己动手写一个窗口程序 视频代码演示 需要掌握的知识点:如何通过CWinApp和CFramWnd去创建一个窗口程序 需要了解的知识点: 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 自己动手写一个窗口程序 视频代码演示 需要掌握的知识点:如何通过CWinApp和CFramWnd去创建一个窗口程序 需要了解的知识点:
类是派生Windows应用程序对象的基类。应用程序对象提供了用于初始化应用程序和运行应用程序的成员函数。 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 CWinApp 类是派生Windows应用程序对象的基类。应用程序对象提供了用于初始化应用程序和运行应用程序的成员函数。 使用MFC的每个应用程序只能包含一个从CWinApp派生的对象。当您从CWinApp派生应用程序类时,覆盖InitInstance成员函数以创建应用程序的主窗口对象。 它还有一个成员变量:m_pMainWnd 用来记录创建的主窗口的对象 除了CWinApp成员函数之外,Microsoft基础类库还提供了以下全局函数来访问CWinApp对象和其他全局信息: AfxGetApp获取一个指向CWinApp对象的指针。 AfxGetInstanceHandle获取当前应用程序实例的句柄。 AfxGetResourceHandle获取应用程序资源的句柄。 AfxGetAppName获取指向包含应用程序名称的字符串的指针。或者,如果您有一个指向CWinApp对象的指针,请使用m_pszExeName获取应用程序的名称。
提供了Windows单文档界面(SDI)重叠或弹出框架窗口的功能,以及用于管理窗口的成员。 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 CFrameWnd类 提供了Windows单文档界面(SDI)重叠或弹出框架窗口的功能,以及用于管理窗口的成员。 要为应用程序创建有用的框架窗口,请从CFrameWnd派生类。 向派生类添加成员变量以存储特定于您的应用程序的数据。 在派生类中实现消息处理程序成员函数和消息映射,以指定在将消息定向到窗口时会发生什么。 有三种方法来构造框架窗口: 使用Create直接构造它。 (本节需要掌握的内容) 使用LoadFrame直接构造它。(后续课程讲解) 使用文档模板间接构建它。 (后续课程讲解)
CFrameWnd :: Create 成员函数 //如果类名为NULL,则以MFC内建的窗口类产生一个标准的外框窗口 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 CFrameWnd :: Create 成员函数 //如果类名为NULL,则以MFC内建的窗口类产生一个标准的外框窗口 BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle = WS_OVERLAPPEDWINDOW, const RECT& rect = rectDefault, CWnd* pParentWnd = NULL, // != NULL for popups LPCTSTR lpszMenuName = NULL, DWORD dwExStyle = 0, CCreateContext* pContext = NULL); 返回值 :非零表示初始化成功,否则为0 备注 通过两个步骤构造一个CFrameWnd对象。首先调用构造函数,它构造CFrameWnd对象,然后调用Create,创建Windows框架窗口并将其附加到CFrameWnd对象。创建初始化窗口的类名和窗口名称,并注册其样式,父级和关联菜单的默认值。
1.基于MFC的窗口程序必须也只能有一个由从CWinApp派生的对象 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 总结: 1.基于MFC的窗口程序必须也只能有一个由从CWinApp派生的对象 2.我们必须覆盖 CWinApp 的虚函数InitInstance在里面创建窗口. 并把窗口对象保存在 它的成员变量m_pMainWnd . 3.创建窗口是通过派生CFrameWnd对象.在它的构造函数里面调用 成员函数create. 手动编写MFC程序的几个注意事项: 1. 使用win32 application去创建工程. 2. 包含MFC运行库.(project—setting—General—use mfc in static) 3. 使用头文件afxwin.h
<基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 课后练习: <基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见