所有发送的消息都有四个参数–一个窗口句柄(hwnd),一个消息编号(msg)还有两个32位长度(Long)的参数.
hwnd即要接受消息的一个窗口的句柄,msg即消息的标识符(编号).该标识符是指引发消息的动作类型(如移动鼠标),另外两个参数是该消息的附加参数(例如当鼠标移动时光标的当前位置)
但是,当消息发送给你时你为什么看不到呢–就象有人在偷你的信一样?请先别恼火,让我告诉你.
小偷其实是Visual
Basic.但它并没有偷走你的信,而是在阅读了之后挑出重要的以一种好的方式告诉你.这种方式就是你代码中的事件(Event).
这样,当用户在你的窗体上移动鼠标时,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位的参数 。
API:应用程序接口(API:Application
Program
Interface)
应用程序接口(API:application
programming
interface)是一组定义、程序及协议的集合,通过
API
接口实现计算机软件之间的相互通信 。API
的一个主要功能是提供通用功能集 。程序员通过使用
API
函数开发应用程序,从而可以避免编写无用程序,以减轻编程任务 。
API
同时也是一种中间件,为各种不同平台提供数据共享 。根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将
API
分为四种类型:
远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信 。
标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享 。
文件传输:文件传输通过发送格式化文件实现应用程序间数据共享 。
信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享 。
当前应用于
API
的标准包括
ANSI
标准
SQL
API 。另外还有一些应用于其它类型的标准尚在制定之中 。API
可以应用于所有计算机平台和操作系统 。这些
API
以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架) 。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误 。因此,除了具备执行数据共享任务所需的知识以外,这些类型的
API
还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信 。相反由于这种
推荐阅读
- 仓颉是什么意思怎么读 仓颉是什么意思
- 增益是什么意思通俗点 增益是什么意思
- 正确泡绿茶的步骤是什么
- 初始是什么意思啊 初始是什么意思
- dual是什么意思啊 dual是什么意思
- 兑换是什么意思 dh是什么意思
- 自来水笔是什么
- 高山榕果实能吃吗 高山榕果实是什么味道
- 砚指的是什么
- 科普类是什么意思 kpl是什么意思
