- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在VB中使用API函数什么是API--API的描述API声明--如何声明API--API函数--函数的类型消息句柄,坐标,数据结构,...API参数类型--VB中的等价类型Any参数传递--按值调用(ByVal),按引用调用(ByRef),结构,字符串,数组...回调WinProc子类处理--获取错误结果--组合标志位处理参数如何认识API函数?--一个例子结束语
这样,当用户在你的窗体上移动鼠标时,Windows会发送一条WM_MOUSEMOVE消息给你的窗口,VB得到这条消息以及它的参数并运行你在事件MouseMove中的代码,同时VB会把这条消息的第二个32位数(它包含了x,y坐标,单位为像素(Pixel),每个位16位)转换为两个单精度数,单位为缇(Twip).现在,如果你需要光标坐标的像素表示,然而VB已经把它转换成了缇,因此你需要重新把它转换为以像素为单位.在这里,Windows给了你所需要的,但VB好意地进行了转换而使你不得不重新转换.你可能会问--我难道不能自己接收消息吗?答案是肯定的,你可以使用一种叫做子类处理(Subclass)的方法.但你除非必须否则最好不要使用,因为这与VB的安全程序设计有一点点的违背.(注:子类处理确实有很大的风险,但如果使用得当,是很有用处的.不过有一点一定要注意,即千万不要使用VB的断点调试功能,这可能会导致VB崩溃!)需要补充说明的是:你可以发送消息给你自己的窗口或其他的窗口,只需调用SendMessage或PostMessage(SendMessage会使接受到消息的窗口立刻处理消息,而PostMessage是把消息发送到一个称为消息队列的队列中去,等候处理(它将会在该消息处理完后返回,例如有些延迟)).你必须制定接受消息的窗口的句柄,欲发送消息的编号(所有的消息的编号均为常量,你可以通过API Text Viewer查得)以及两个32位的参数.
☆★☆★技术文档★☆★☆ 2.针对API初学者的教程第二篇【 返回首页 】 【上一章】 【下一章】 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.TwipsPerPixelXPixelYValue=TwipYValue\Screen.TwipsPerPixelYTwipXValue=PixelXValue*Screen.TwipsPerPixelXTwipYValue=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++中.到网上去或找您的朋友要一个,版本越新越好注意Wi
您可能关注的文档
- 第八章 原子吸收光谱法 第五节 第六节讲解.ppt
- 员工教育训练程序剖析.doc
- 厂房工期保证措施(进度计划)钢结构_secret剖析.doc
- 员工素质模型研究剖析.ppt
- 第八章___幼儿园游戏讲解.ppt
- 员工心态培训教程剖析.ppt
- 第八章_计算机控制系统的抗干扰与可靠性技术讲解.ppt
- 机械设计试题答案(多套)讲解.doc
- 第八章第二节欧洲西部2讲解.ppt
- 厨房机械安全讲义剖析.pptx
- 2025年数据要素市场主体行为与数据要素市场风险管理研究.docx
- 2025年直播电商虚拟主播与虚拟现实技术融合创新报告.docx
- 半导体设备国产化,2025年维护技术国产化市场潜力分析.docx
- 供应链大数据应用2025年制造业数字化协同管理创新模式研究报告.docx
- 2025年母婴护理市场标准化与品牌差异化竞争策略研究.docx
- 2025年中小企业数字化服务商行业政策解读与应对策略.docx
- 跨境电商独立站2025年用户留存与客户反馈机制研究报告.docx
- AI芯片算力提升与全球竞争格局:2025年市场动态深度分析报告.docx
- 2025年文具礼品电商保税仓跨境电商仓储物流设施设备选型与成本控制策略报告.docx
- 2025年二手潮品交易平台二手图书交易平台案例分析.docx
最近下载
- 基于大模型的生成式检索.pdf VIP
- 西门子伺服操作说明书-SINAMICS_V90_OPI.pdf VIP
- 电力工程施工安全与质量控制管理.docx VIP
- Packing List-装箱单表格模板.xls VIP
- 电力工程施工安全及质量控制管理.doc VIP
- 2025年最新版硫化氢考试题库大全集.doc VIP
- [江西]发电厂2×600mw级机组“上大压小”土建工程施工组织设计.doc VIP
- 《护患沟通技巧》ppt课件.pptx VIP
- 县乡教师选调进城考试《教育心理学》题库及答案(各地真题).docx VIP
- 发电厂“上大压小”2×600MW超临界空冷机组工程土建专业主要施工方案.docx VIP
文档评论(0)