[工学]第三章MFC编程基础.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第三章MFC编程基础

第章: 学习目标 MFC编程基础及类库介绍 MFC消息映射工作原理 MFC常用消息的编程MFC文档视图结构 MFC基础 简介 MFC是VC开发的面向WINDOWS程序的对象库,由一系统列DLL组成,主要实现了WINDOWS程序的OOP框架(CWnd),DOC_VIEW架构,和其它的应用功能.MFC结合了面向对象的编程技术和WINDOWS消息驱动的编程技术,并封装了WIN32API,其设计好处: 消除了WIN32API的复杂性,封装了WIN32API,统一了程序的概念,而且可扩展。 历史 AFX项目小组进化而来,还有一些AFX代码,如AfxMessageBox,AFxGetApp。 基类 CObject, 动态建删,序列化,诊断,集合,运行信息。其作用是保证MFC及其应用程序更稳固和更容易调试。 核心类 CCmdTarget:消息映射类,实现了消息机制,是所有响应消息的基类。它有一个消息映射列表,规定了对象收到消息时可以晌应什么消息处理函数来处理。消息可以是菜单项,命令按钮,加速键等消息。其子类主要有: CView, CWinApp,CDocument,CWnd,CFramWnd一般很少直接使用该类。 MFC类库的结构表(参见MSDN) CWinThread CWinThread是CWinApp的基,抽象了线程的机制,即程序的执行(EXE,DLL),封装了MFC程序的入口点,该基类通过对MFC线程的描述,可以实现工作者线程(即无界面线程)和界面线程,主要内容如下: m_bAutoDelete 定义了在线程结束时是否要销毁对象. m_hThread 当前线程的句柄. m_nThreadID 当前线程的ID. m_pMainWnd 保存的当前应用程序的主窗口句柄. m_pActiveWnd 对于OLE就地激活服务器,表示当前包容器的主窗口句子柄. CWinApp主要内容 CWinApp专门定义一个MFC程序的入口点,其主要内容: 访问全局函数: AfxGetApp, AfxGetREsourceHandle, AfxGetAppName 公共数据: m_pszAppName, m_nCmdShow, m_pMainWnd 公共函数: LoadCursor, LoadStandardCursor, LoadIcon, LoadStandardIcon,OpenDocument 虚函数: nitApplication,InitInstance,Run,OnIdle,PreTranslateMessage CWnd主要内容 CWnd是一个窗口的抽象基类,描述一个窗口的一般特点,如绘图显示等,它通过封装底层的窗口句柄,来实现对象的概念和底层窗口句柄的概念的统一,支持Attach 和Detach功能,对应的成员函数是:HWND Detach( ), BOOL Attach( HWND hWndNew );当一个对象绑定到一个窗口句柄时,对象的成员函数就可控制窗口,解除绑定时则不能。其主要内容: 成员:m_hWnd 方法:初始化,窗口状态函数,大小和位置,窗口内容,绘图,文本,流动函数,菜单,剪切板函数 CDialog的主要派生类 CDialog由CWnd类派生,专门定义一个MFC对话框,支持两对话框类型,模式对话框和无模式对话框,对话框可以让程序关联到一个对话框资源,以方便对对话框界面的开发。此外它和窗口类一样都具有消息映射和窗口处理功能。 CDialog的使用主要是通过定义其派生类来实现,MFC考虑到有一些通用的对话框,如文件,颜色对话框等,专门派生出一个CCommonDialog来实现这一功能。 CDialog的主要派生类CCommonDialog,从其派生出的类主要有: CFileDialog, CFontDialog, CColorDialog, CPageSetupDialog, CPrintDialog, CFindReplaceDialog, COleDialog 通用对话框的使用方法: // Get the selected color from the CColorDialog. CColorDialog dlg; if (dlg.DoModal() == IDOK) { COLORREF color = dlg.GetColor(); TRACE(RGB value of the selected color - red = %u, green = %u, blue = %u\n, GetRValue(color), GetGValue(color), GetBValue(color)); } 在

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档