1 / 18

第 1 章 引 论

第 1 章 引 论. Windows 操作系统发展简介. 1983 年 12 月首次推出 Windows 系统的第一个版本的,命名为 Windows v1.0 1985 年推出了 Windows v1.1 版本 1987 年 10 月, Microsoft 发行了 Windows 系统的另一个重要版本 Windows v2.0 1990 年 5 月, Microsoft 公司发行了一个划时代的版本 Windows v3.0

tyrell
Download Presentation

第 1 章 引 论

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 1 章 引 论

  2. Windows 操作系统发展简介 • 1983年12月首次推出Windows系统的第一个版本的,命名为Windows v1.0 • 1985年推出了Windows v1.1版本 • 1987年10月,Microsoft发行了Windows系统的另一个重要版本Windows v2.0 • 1990年5月,Microsoft公司发行了一个划时代的版本Windows v3.0 • 1992年4月,Microsoft公司又推出了支持象动态数据交换、对象连接和嵌入、多媒体等功能的Windows v3.1版本 • 1995年,Microsoft公司隆重推出了Windows 95 • 1998年,Microsoft公司推出了Windows 98版本

  3. Windows 操作系统特点 • 一致的图形化的用户界面-Windows系统及Windows应用程序的用户可以得到一致的用户界面所带来的许多认识的方便。 用户受益于使用图形和图像来显示应用程序的数据 • 多任务机制-Windows向用户提供非常重要的多任务功能。 • 硬件即插即用功能-Windows提供了各种设备驱动程序支持各种各样的外部设备 • 与设备无关的图形图象机制 等等

  4. Windows 图形用户界面 • 窗口及其组成: • 1.         窗口主边框和窗口子边框 • 2.         用户区 • 3.         控制菜单框 • 4.         标题条 • 5.         菜单条 • 6.         工具条 • 7.         水平滚动条和垂直滚动条 • 8.         最大化/还原窗口按钮 • 9.         最小化按钮 • 10.     关闭按钮 • 11. 状态条 等等

  5. Win32界面元素 Win32操作系统为我们提供了一组预先构造好的界面元素或控件来建立GUI外观和作用相像的应用程序。这种方法使用户具有对Windows 应用熟悉牲,并使用户能较容易地把操作技术的有关知识从熟悉的软件应用传递到新的不熟悉的软件应用中。我们通过编程还可以自定义控件及其式样,给界面设计人员提供创作空间。

  6. 标准控件 说 明 按钮 用于启动动作或改变性属性的图形控件 分组框 用于组织其他控件的可视控件 列表框 用于显示项目列表, 可以和按钮和文本框相结合 滚动条 用于在水平或垂直方向上滚动窗口 静态文本 用于显示文本或图形元素 编辑框 用于显示和编辑文本 图标列表 图形图标的列表 列表视图 图标和标注的列表 进度指示器 任务完成情况的可视化量测器 RTF编辑框 字体可格式化的编辑框 标签(Tab)控制 文件夹标签 滑尺 和滚动条相类似的滑尺控制 树型视图 树型结构显示 常用标准控件及其说明

  7. Windows 编程基本约定 匈牙利表示法: 在Windows程序设计中,为了提高程序代码的可读性,我们对程序中使用的变量或对象定义其标识符应遵从一定规则。匈牙利表示法就是一种提供定义变量名的规则。匈牙利表示法是一种定义变量名的好方法,Windows程序员经常使用这个方法。匈牙利表示法是以Microsoft公司的程序员Charles Simonyhi的国家命名的,它在Microsoft公司编程人员中广泛用于应用程序和系统软件的开发当中。

  8. Windows变量的常用前缀 前 缀 变量意义 b 布尔量(非0是TRUE,0是FALSE) c 字符量(一个字节值) dw 32位无符号长型整数 f 用16位整数表示的一种位标记 h 16位句柄 l 32位长整数 lp 32位长指针 n 16位短整数 p 16位短指针 pt 坐标量(x,y),放在32位无符号整数中 rgb RGB颜色值,放在32位整数中

  9. 基本数据类型 用C++编程时,有的数据类型还是挺复杂的,为了阅读和书写程序方便,我们通常的办法是用typedef定义一些容易读和写的等价数据类型。如LPSTR等价数据类型为char*。许多这样的数据类型只是一些基本数据类型的别名

  10. 句 柄 句柄是Windows编程的基础,所以我们了解它们的作用是非常重要的。所谓句柄是Windows使用的一种无重复整数。句柄主要用来标识应用程序中的一个对象, 如窗口、实例、菜单、内存、输出设备、控制或文件等。例如在模块定义文件中,菜单资源中的菜单项被定义并且赋给了一个句柄值。应用程序的菜单条中, 第一个菜单的第一个菜单项可能被赋予100这个句柄值, 那么第二项可能被赋予101这个句柄值。在应用程序的源代码中, 这些菜单项将要通过100和101来区分。 Windows应用程序只能访问句柄, 而不能直接访问句柄所指示的实际数据。Windows系统控制着这些系统数据的存取权, 这样才能在多任务环境中保护这些数据。

  11. 句柄类型 说 明 HBITMAP 保存位图信息的内存区域的句柄 HBRUSH 画刷句柄 HCTR 子窗口控件句柄 HCURSOR 鼠标光标句柄 HDC 设备描述表句柄 HDLG 对话框句柄 HFONT 字体句柄 HICON 图标句柄 HINSTANCE 应用程序的实例句柄 HMENU 菜单句柄 HMODULE 模块句柄 HPALETTE 颜色调色板句柄 HPEN 在设备上画图时用于指明线型的笔的句柄 HRGN 剪贴区域句柄 HTASK 独立于已执行任务的句柄 HWND 窗口句柄 Windows常见公用句柄类型

  12. SDK 实现的Windows 应用程序 编写Windows操作系统下的应用程序免不了需要介绍Windows API的有关方面知识。Windows API (Windows Application Programming Interface,Windows应用程序编程接口)是Windows操作系统给我们开发人员提供的编写应用程序的接口,它是所有Windows应用程序开发的基础。所谓API就是一系列的例程,我们编写的应用程序都是通过调用这些例程来请求操作系统完成一些低级系统应用服务。在Windows图形用户界面中,应用程序的窗口、图标、菜单、工具条、状态条、消息框和对话框等等都是由Windows API来管理和维护的。

  13. 在Microsoft Visual C++ Developer Studio中 • 我们实现该应用程序可以按下面的步骤: • 启动Visual C++,选择File菜单下的New命令,指定工程类型和类型名为SdkEx11(即在Project Name中输入SdkEx11),然后指定工程存放位置(即在Location中输入位置,通常是自己在硬盘上建立一个子目录,这里选择就可以了)和指定PlatForm为Win32。 • 选择File菜单下new命令,再选择File属性页下的C++ Source File,然后再在Filename编辑框中输入sdkMain。 • 单击Build菜单下的Build SdkEx11.exe或Build All或按下快捷键F7 (如果未对该快捷键做过自定义操作的话)或单击Build或Build Minibar工具条上的按钮,编译并创建可执行文件SdkEx11.exe,运行该可执行文件 。

  14. Windows SDK编写Windows应用程序的全过程 : 首先,我们编写了一个WinMain() (所有Windows应用程序的起始点)的源代码模块,在其中我们需要编写初始化应用程序的代码,注册窗口类,创建窗口,再就是一个消息循环(在编写的各类程序中,消息循环的变化不大),其次是编写一个窗口回调过程。如果应用程序中使用了对话框,还需要使用某种资源编辑器或通过手写RC文件来创建它们。然后再为每个对话框写一个对话框过程等。这样才能使对话框同应用程序挂接上,从而保证在适当的时候对话框能够出现。在应用程序中,我们需要创建一个大的switch语句, 其中用case语句来对应每个需要处理的Windows消息。对于每个case语句,还得记住如何判别由Windows传递过来的参数(在LPARAM和WPARAM变量中),以保证传回给Windows正确值(或调用DefWndProc)。

  15. Visual C++是世界上最受欢迎的程序设计语言之一。但是,现在许多人都认为Visual C++太难学、太烦琐、太灵活了,Windows 程序设计语言有诸如Visual BASIC,Delphi等RAD开发工具语言,我们为什么非要选学Visual C++呢?但是,作为一个真正的程序员还是应该要学习使用Visual C++编程工具。

  16. 首先,Visual C++是基于MFC开发应用程序的工具。MFC基本上是对Windows API的C++类封装。Microsoft Windows操作系统的许多代码均是用C/C++编写的,我们可以这样说,C/C++时是Windows操作系统的宿主语言。 其次,Visual C++的最新特性之一具有原型能力,这一点通过增强的向导来实现的。现在,这个特性还不能把Visual C++提升到像Visual Basic向导相同的水平上,但它确实减少了开发应用程序的入门时间。 再者,MFC是建立在C++语言的基础之上,所以掌握C/C++语言基础对软件开发很重要。我们可以利用C++的封装性开发者可以更容易理解和操作各种窗口对象;利用C++的派生特性开发者可以减少开发自定义窗口的时间和创造出可重用的代码;利用虚拟性可以在必要时更好的控制窗口的活动。而且C++本身所具备的超越C语言的特性都可以使开发者编写出更易用、更灵活的代码。

  17. 另外,Visual C++也是编写ActiveX控件以及像ISAPI(Internet服务器应用程序接口)扩展和ISAPI过滤器这样针对IIS的专用代码的理想编程环境。即使对属于快速应用程序开发环境中的应用程序编程来说,也没有人愿意花时间从Internet上下载一个巨型控件,也同样没有人愿意让慢速的过滤器加重Web服务器的负担。 Visual C++擅长的另一领域是数据库编程。我并不是说要使用Visual C++编写一个功能完备的仓储控制系统,那样确实要花去很长的开发时间。然而,Internet用户也确实需要访问数据库管理者那里的数据。

More Related