- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                VC++第1章VC++编程基础—王明福.ppt
                      第1章  Visual C++编程基础 ;  教学内容 ; 1.1 Windows编程概念 ;1.1.2 消息驱动
    DOS程序是由一系列预先定义好的操作序列的组合,具有一定的开头、中间过程和结束,也就是程序直接控制程序事件和过程的顺序。它的基本模型如图1-1(a)所示。
        事件驱动的程序设计不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序。
        它在程序设计过程中除了完成所需功能之外,更多地考虑了用户的各种输入,并根据需要设计相应的处理程序。程序开始运行时,处于等待用户输入事件状态,然后取得事件并作出相应反应,处理完毕又返回并处于等待事件状态。如图1-1(b)所示。;1.1.3 消息响应函数
    消息响应函数是用于处理特定消息的一些代码。例如,当用户点击某菜单项时,希望程序弹出一个口令对话框,那么,只要在相应的消息处理函数中编写弹出一个口令对话框的代码。
1.1.4 资源管理
    程序员设计任何应用程序均将涉及到诸如菜单、对话框、消息框以及按钮等标准格式数据。Windows将这些数据保存在资源文件中,程序员可通过编辑工具编辑、修改这些资源文件,使其提供所需的菜单或按钮,并将其放入设计的程序之中。
  1.1.5 设备独立性
    设备独立性或称设备无关性。在编程时,程序员不必关心诸如打印机、鼠标、键盘、显示器、声卡、显示卡、CDROM等多种设备的类型及其驱动程序。Windows95/98/2000提供了图形设备接口之类的各种抽象接口,使得在程序中可以通过调用标准函数与硬件交互,这些函数通过设备环境的数据结构,由Windows操作系统将其映射到相应的物理设备,而程序员则无需了解其提供的操作设备的各种指令。 ; 1.2 MFC基础 ;1.2.2 MFC应用程序框架
   在VC++6.0中,MFC AppWizard能方便地生成应用程序框架,然后在此基础上进行进一步的编辑工作。MFC AppWizard生成的应用程序包括这样一些要素:
● WinMain函数。Windows要求应用程序必须有一个WinMain函数,它隐藏在应用程序框架中。
● 应用程序类。也称CMyHelloApp。该类的每一个对象代表一个应用程序。程序中默认定义一个全局CMyHelloApp对象,即theApp。
● 应用程序启动。启动应用程序时,Windows调用应用程序框架内置的WinMain函数,WinMain寻找CWinApp由派生出的全局构造的应用程序对象。
● 成员函数CMyHelloApp::InitInstance。当WinMain函数找到应用程序对象时,它调用伪成员函数InitInstance,这个成员函数调用所需的构造并显示应用程序的主框架窗口。必须在派生的应用程序类中重载InitInstance,因为CWinApp基类不知道需要什么样的主框架窗口。
● 成员函数CWinApp::Run。函数Run隐藏在基类中,但是它发送应用程序的消息到窗口,以保持应用程序的正常运行。在WinMain调用InitInstance之后,便调用Run。;● CMainFrame类。类CMainFrame的对象代表应用程序的主框架窗口。当构造函数调用基类CFrameWnd的成员函数Create时,Windows创建实际窗口结构,应用程序框架把它连接到C++对象,函数ShowWindows和UpdateWindow也是基类的成员函数,必须调用它们类显示窗口。
● 文档与视图类。这一部分比较复杂,会在后面的章节中单独提出详细讲解。
● 关闭应用程序。如果用户通过关闭主框架窗口类关闭应用程序,这个操作就将激发一系列事件的发生,包括CMainFrame对象的析构、从Run中退出、从WinMain中退出和CMyHelloApp对象的折构。
;1.2.3 MFC消息映射及处理
   在MFC中,管理消息的方式是:当发生某一个消息(比如用户移动了鼠标和按下键盘等)该消息进入消息队列,操作系统根据消息提供的信息决定由那个应用程序来处理,该应用程序依照一定的方式查找应用程序中各个类的消息映射(一组宏,这些宏用来确定某个消息及相应的处理程序的对应关系)找到处理程序,然后由处理程序执行。
MFC程序要处理消息的种类如下:
● Windows消息。以WM_开头,但WM_COMMAND例外。通常由窗口和视图来处理。
● 由控件和其他子窗口发送给父窗口的WM_COMMAND消息。这些消息中包括EN_CHANGE通知码。如当用户在编辑框中键入文本或进行修改,就回向系统发送一个带EN_CHANGE通知码的WM_COMMAND消息。
● 来自于用户界面对象的WM_COMMAND消息,如表1-1所示。
                
原创力文档
                        
                                    

文档评论(0)