当前位置: 网学 > 编程文档 > VB > 正文

感悟VB细水长流话API

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
,声明的方法是使用Declare关键字,如:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
声明了一个名为SendMessage的API函数。许多API的声明可以在API浏览器中找到,而且本文在讲述一个API时也会给出声明,更深入的知识将在以后讲述。

  3.句柄

  API中使用得最多的一个词大概就是“句柄”了。如果要说得复杂些,句柄的确可以说上一大堆,不过作为VB的应用,我们可以更简单地去理解它。可以这么说,句柄是Windows系统赋予内存中每一个对象,包括窗口、按钮(其实也是一种窗口)或者文件、图标、菜单等等所有东西的标识。所谓标识就如身份证一样,是不会重复并且和实际对象是一一对应的。它的作用是让Windows知道将被操作的对象是谁。许多VB控件都提供了一个长型的hWnd属性,一般情况下,这个属性就是这个控件的句柄,用API控制这个控件时就需要用到这个属性了。

  4.设备上下文

  其实我觉得“设备上下文”这个词读起来很奇怪,不过就其字面来看,Device Context(DC,可不是直流电或DreamCast哦)就是这个意思,许多人也这么称它。不过我想翻译为“设备中介”大家应该更容易理解吧。它的作用是作为计算机设备和程序之间的中介,比如显示器和程序之间,或者打印机和程序之间。在对这些设备操作的时候,是需要通过这个中介操作的(与句柄相似),一些控件,如 Picture,想在上面画图时,就要用到hDC属性了。
5.显式声明与自动保存

  在默认情况下,Visual Basic会把未声明的变量认为是新变量(即使是你不小心打错字了),这样很容易出现错误,而且要找出这样的错误往往很不容易。加上API的操作基本上都会涉及到系统本身,一旦出错就有可能出现Visual Basic崩溃甚至系统崩溃。所以到Visual Basic的选项设置中选上Require Variable Declaration(需要变量声明)。在 Enviroment(环境)页中的When a program starts(当程序启动时)处选上Prompt To Save Changes(提示保存)或 Save Changes(自动保存)。这样Visual Basic会检查变量是否已经声明,不再允许没有声明的变量出现了。

  6.API浏览器

  前面讲“声明”的时候提到了API浏览器,这里也说一说它。在安装完VB时,安装程序会把API浏览器复制到你的计算机里。启动后界面如图1(以VB6为准)。可以看到,从API浏览器里我们可以得到API的声明、常量值以及与API相关的自定义类型的定义。其中Declare Scope(声明范围)是指该声明是公有的还是私有的。对于在标准模块中的声明,如果声明为私有,则只对该模块有效,如果为公有,则对整个程序都有效。在窗体模块中只能声明为私有。

  7.MSDN

  MSDN是微软发布的一套完整的Windows开发者技术文档(如图2)。里面不仅有VB、VC++、VFP、MSDEV、VSS等开发工具的完整帮助,而且包含了Windows平台开发的几乎所有的技术资料,并不断地更新。我们需要的API资料这里都有很详细的说明,包括使用平台、参数类型、参数作用等(当然它并非完全正确,错误的地方也时有出现)。不过作为以C为基础的API,这里的资料是英文的,而且格式也是C语言格式。想要读懂,那你的英文水平和C语言就要有两把刷子了。不过不必担心,它只是我建议一定要有的参考文档,最重要的还是我接下来要讲的内容,它不仅是中文的,还是VB的,又有使用示例,还有相关知识讲解。记住MSDN只是参考文档,作用就好像字典,可千万不要买了一套MSDN就跑去跟别人说你已经变得多厉害了,不然……

  顺便说一说,以前的MSDN是双CD的,现在已经变成3CD了。如果买的话应尽量买最新的(但没有必要每次更新都换一套),因为更新的版本把一些
  • 上一篇资讯: 用VB开发即时战略游戏
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号