针对API初学者的教程第二篇.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows的一些特别之处 这个主题是要告诉你Windows 的一些与在VB中的不同的细节 Windows通过句柄(Handle)识别每个窗体,控件,菜单,菜单项或其他任何你能想得到的东西.当你的程序运行时,它所包含的每个部件都有一个唯一确定的句柄用来同其他的部件相区别.例如,某个按钮得句柄就与其他部件不同,当你想要通过API来执行有关该按钮的某种操作时就必须使用这个句柄.从哪儿得到它呢?VB 为每个拥有Windows句柄的控件都提供了Hwnd属性来表示其句柄. Windows 使用像素(Pixel)而不是缇(Twip).因此,把涉及API函数调用的控件的ScaleMode属性设为3--(Pixel)是个不错的主意,这样你可以通过ScaleXXX属性得到它们的国际单位值.尽管这样,你可能有时仍需要进行从Twip到Pixel的转换(反之亦然),你可以通过Screen对象的TwipsPerPixelX和TwipsPerPixelY来实现.举例如下: PixelXValue=TwipXValue\Screen.TwipsPerPixelX PixelYValue=TwipYValue\Screen.TwipsPerPixelY TwipXValue=PixelXValue*Screen.TwipsPerPixelX TwipYValue=PixelYValue*Screen.TwipsPerPixelY 我并没有在实际中见到过TwipsPerPixelX 和 TwipsPerPixelY 的值有什么不同,但你最好是把它们区别开来而不是混用,这至少是一种好的程序设计风格.另外需要注意的是,这里用的是 \ (整除) 而不是 / ,这是因为像素值必须是整数. 另外需要提到的是,Windows函数中用到了不同的坐标系统,因此需要注意. 最后要注意的是,一旦你使用了API 函数,VB就可能不再可靠了---API调用中一个简单的语法错误就会导致VB 崩溃!(请经常保存您的工程).VB 并不能识别API调用中的错误,因此一旦你的程序出现异常,要先检查API调用---是否缺少 ByVal,或者是错误的类型,参数等等. 从哪里得到有关函数的说明? 这个主题不会告诉你如何通过API函数改变按钮文字或如何快速查找一个文件.这不是一个API函数文档. 为了得到有关函数的说明,你需要SDK帮助或微软的SDK文档(至少有40M---我怎么可能放在这里?).这些SDK帮助通常都包含在Borland Dephli 3.0 开发包或者MS Visual C++中.到网上去或找您的朋友要一个,版本越新越好 注意Win3.x 的SDK 帮助对你并没有用,因为很多函数已经过于陈旧甚至废弃不用,尽管他们中的大多数由于与 Windows95兼容而依然存在. API参数类型 如果你已经有了一个SDK帮助,你肯定主意到了函数的返回之或参数有很多奇怪的类型如VOID,LPCSTR, 和DWORD.如果你对C语言比较熟悉的话,那你肯定明白它们的意思.对于其他不熟悉C语言的人,这里有一张摘自 VB Books Online(标题是:C语言声明到Visual Basic的转换) C 语言数据类型 在VB中的声明 Call with ATOM ByVal variable As Integer An expression that evaluates to an Integer BOOL ByVal variable As Long An expression that evaluates to a Long BYTE ByVal variable As Byte An expression that evaluates to a Byte CHAR ByVal variable As Byte An expression that evaluates to a Byte COLORREF ByVal variable As Long An expression that evaluates to a Long DWORD ByVal variable As Long An expression that evaluates to a Long HWND, HDC,HMENU,etc.(Windows handles) ByVal variable As Long An expression that evaluates to a Long INT, UINT ByVal variable As Long

文档评论(0)

82393aa + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档