- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用软件工具与环境教程——C++编程 教材:谭德强、姜波主编,殷人昆审.《实用软件工具与环境教程——C++高级编程》. 清华大学出版社 先修课程:《C++程序设计》、《面向对象程序设计》 应掌握知识:C++、面向对象、Windows程序设计知识 推荐书籍: 《 Visual C++技术内幕(第四版)》,潘爱民等译 《MFC Windows程序设计(第2版)》,Jeff Prosise 《深入浅出MFC》,侯俊杰著 课件制作、授课教师:十堰电大 刘晓刚 电话:8117615 E-MAIL:SYLXG@126.COM 二、Windows应用程序设计的特点 面向对象的设计思想和方法 事件驱动的程序设计 消息与消息循环 硬件消息,如键盘、鼠标 系统消息,如时钟 用户界面消息,如用户菜单消息和对话框消息 图形界面更容易实现 Windows提供了丰富的图形函数 三、用面向过程技术开发Windows程序 书12-19页 自已控制消息循环,Windows消息结构见书15页,理解各参数的含义 VC中函数和变量的规定 书16页 VC中函数和变量的前缀的意义 书16页 ?hWnd是窗口句柄,要得到窗口的一些属性需要借助这个句柄 ,hDC是窗口显示上下文句柄,只有在窗口进行图形、文字输出的时候才需要它。hWnd的使用范围更广些,有了hWnd就可以使用API的GetDC()函数得到与其相关的hDC。 句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个WINDOWS函数来获得一个句柄,之后其他的WINDOWS函数就可以使用该句柄,以引用相应的对象。在WINDOWS编程中会用到大量的句柄,比如:HINSTANCE(实例句柄),HBITMAP(位图句柄),HDC(设备描述表句柄),HICON(图标句柄)等等,这当中还有一个通用的句柄,就是HANDLE 。 其实所谓的HANDLE,是WINDOWS把对象的真实的地址进行转化以后得到的一个32位无符号数而已,它的背面还是地址.那为什么不用地址呢?是为了实现封状和安全而已! 本质上仍是一个指针,指向一个与系统有关的很复杂的结构(如消息结构) A?handle?is?simply?a?number?(usually?32?bits?in?size)?that?refers?to?an?object 书16-19页Windows程序分析 WinMain() 程序入口 GetMessage()获得消息 TranslateMessage()翻译消息 DispatchMessage()分发消息 CreateWindow() 创建窗口的函数 ShowWindow() 显示窗体 UpdateWindow() 重绘(刷新)窗体 Switch()结构用来匹配消息,如都没匹配上最终发送到DefWindowProc() 书19页结构流程图 四、用面向对象技术开发Windows程序 开发过程:进入VC、File菜单、New菜单、Projects选项卡、选MFC AppWizard[exe]、六步OK、运行程序。用VC6实际演示。 程序分析: CWinApp类封 装了WinMain()函数的行为,代表应用程序的主体。 CFrameWnd封装了CreateWindow()函数的行为,代表应用程序主窗口。 CWinApp::InitInstance()为自定义的应用程序初始化。 CWinApp::Run()进行消息循环,消息循环遇WM_QUIT消息退出 for ( ; ;)和while()语句表示条件为真永远循环。 函数PeekMessage()和GetMessage()的区别: 1.GetMessage将等到有合适的消息时才返回,而PeekMessage只是查一下消息队列。所以PeekMessage()不用等待消息而GetMessage()要等待消息。 2.GetMessage会将消息从队列中删除,而PeekMessage可以设置最后一个参数wRemoveMsg来决定是否将消息保留在队列中。 * 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 * 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 单击此处编辑母版文本样式 第二级 第三级 第四级 第五级 单击此处编辑母版文本样式 第二级 第三级 第四
您可能关注的文档
最近下载
- 《全面质量管理(习题集)》考试题库(含答案).pdf VIP
- 第6课《传播文明》课件++2024—2025学年苏少版(2024)初中美术七年级上册.pptx VIP
- 浙江工业大学研究生矩阵原理期末试题及答案.docx VIP
- Roland罗兰乐器SPD-SX 采样打击板SPD-SX 说明书用户手册.pdf
- 地基与基础分部验收工程总结.doc
- 数字化智能工厂建设方案及规划蓝图建设方案.doc VIP
- 刘伟教你打乒乓(北大)中国大学MOOC慕课 章节测验答案.docx
- 探究乡土植物在园林绿化建设中的应用及存在的问题.doc VIP
- 湖南省湘西州永顺县2023-2024学年四年级上学期期中英语试卷.doc VIP
- 2024年中级经济师《经济基础知识》教材变化对比.pdf
文档评论(0)