吉林大学远程教亩育35.pptVIP

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

* * 吉林大学远程教育课件 Windows A P I编 程 主讲人 : 翟慧杰 学 时:48 (第四十七讲) 尽管Delphi具有上述所介绍的强大功能,但是它也离不开Windows API这个基础。在Delphi中使用Windows API进行程序设计,与Visual C+十的不同之处仅在于C+十与Object Pascal这二者之间的语法差别而已。 14.2.2 Delphi开发 Windows API应用程序的步骤 下面以 Delphi 5为例,介绍在Delphi中如何实现基于 Window API的程序设计。 首先,单击 File菜单下的 New命令,这时将弹出如图14- l所示的对话框。 ? ? 在图 14-l中,选择 Console Wizard图标,然后单击 OK按钮,这时, Delphi的主界面如图12-2所示。 从图 14-2可以看出, Delphi的对象监视器为空,也就是说,当前应用程序没有使用到表单和其他的可视化组件。事实上,这时Delphi为用户只生成了一个项目文件,而没有生成相应的单元文件,这和基于Delphi可视组件库的应用程序是有一定差别的。 在图14-2的源文件编辑器中编辑自己的基于Windows API的程序源码,完成后,编译运行即可,这一步和Delphi中基于可视组件库的应用程序是一致的。 14.2.3 Windows AP在 Delphi中的应用实例 下面是一个在 Delphi中采用 Windows API进行程序设计的一个实例。 【例 12-1】基于 Windows API的 Delphi应用程序 该程序是一个用 Windows API编写的简单的应用程序,主要用它来说明如何在 Delphi 中调用 Windows API函数,如何设计基于 Windows API的应用程序。 由于使用的是Windows API和消息循环来构造应用程序,因此在程序中的uses部分包含了Windows 和Messages两个单元。uses子句和Visual C+十中的include很类似,其功能也是为了应用程序能调用在某个文件中定义的函数和常量。在 Delphi中,所有的Windows API函数的原型和数据结构及常量的定义均保存在Windows和Messages这两类文件中。在 Delphi的 Lib目录下可以打开这两个文件,其文件名分别为 Windows.dcu和Messages.dcu,用户可以从这两个文件中获得准确的函数原型、数据结构和常量的定义。 程序中定义了一个全局变量wClass来代表最终的窗口。这个变量是TWndClass类型的,TWndClass实际上是一个结构体,它是 Visual C+十中的 WndClass在 Delphi中的实现。通过对这个结构体变量的各个域进行不同的设置,可以获得不同的窗口风格和界面特征。在程序中可通过如下语句实现对wClass变量的初始化: 上述程序不论是在功能L还是在实现方式上和 Visual C+十中对 wClass进行的初始化都是类似的。例如,指定hCursor域的值时,在上述程序中是通过调用API函数LoadCursor来实现的,其中指定的光标标识符IDC ARROW是在Windows系统中预定义的箭头光标。不过,由于 Delphi用的编程语言是 Object Pascal,因此在指定 IpfnWndProc时,不仅仅需要指定窗口函数的名称,而且必须在其前面添加一个“@”号,这个号表示传递给lpfnWndProc是窗口函数WindowProc的人口地址。 在完成对变量wClass的初始化之后,接下来应该对窗口类进行注册,这个功能是通过调用函数RegisterClass来实现的。 在完成对窗口类的注册后,就可以调用函数CreateWindow来创建窗口,程序中对CreateWindow函数的调用如下: 其中,参数 Sample Class用于指定生成窗口的窗口类的名称,也就是通过 RegisterClass函数注册的用户自定义的窗口类。如果CreateWindow函数执行成功,则返回新建的窗口句柄并将这个句柄赋值给全局变量Handle。这里的窗口句桶和Visual C+十中的窗口句柄的含义是完全一致的。 程序中除了创建主窗口外,还通过调用CreateWindow函数创建了两个按钮、一个编辑框和一个静态文本框。窗口类型都是由Windows系统预定义的,所以不用再注册就可以直接使用。这些窗口又被称为子窗口,因为它们是隶属于一个父窗口的,在这里就是隶属于由句柄Handle标识的窗口。正是这些子窗口构成了和用户进行交互的界面。 在本程序中,还

文档评论(0)

173****1616 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档