|
发表于 2012-6-29 08:34:15
|
显示全部楼层
上海市上海市
windows有自己的一套消息机制,你说的这些完全可以用过postmessage或sendmessage,来发送消息实现
一下是一些相关资料
=====================
现在易论坛很多人都喜欢在“发送消息”等操作时直接用数字,往往又不知道什么数字代表什么意思,也无从查起。
比如,有人说16是关闭窗口,那么请问17是什么?绝大部分的人不知道,即使你去问C++高手,也是绝大部分不知道的。
当初微软定义这些常量的时候,是为了让这些枯燥的数字更好记忆、阅读,可是现在很多易语言程序员却反其道行之,实在是不好的习惯。
我来说一下“发送消息---SendMessage”的基本知识。希望对大家有用。
首先,英文并不可怕,提倡中文编程是好事,完全排斥英文就不是好事了。在微软定义API、消息常量时,这些英文名称都是有含义的,而且大部分是生活中常用的英文单词。首先说一下SendMessage,这是Send(发送)+Message(消息)
再来说一下SendMessage的参数:
SendMessage(窗口句柄,消息,参数1,参数2)
消息一般为 WM_xxx相关的消息常量,比如WM_CLOSE,解释一下这里的WM=Window Message=窗口消息,CLOSE=关闭,这样一说就理解了吧?前两三个字母代表消息类型,后面的就是含义了,这样比你记数字不知道好多少。很多人用了那么久都不知道16是什么对不?可如果说Close的话,很多人都是知道的,毕竟这是常用英语单词,不说别的,家里的DVD等就有写类似单词。
后面的参数1、2,根据不同的消息,代表不同的含义,具体需要查MSDN,在MSDN里每个消息都有说明。
WM=Window(窗口)Message(消息)
WM_ACTIVATE=Window Message Activate(激活)
WM_COPY =Window Message Copy(复制)
WM_CLOSE =Window Message Close(关闭)
理解了之后,其实“发送消息”是很容易通过自己查询手册来实现某些功能的。Windows就是通过消息机制来控制窗口的,多查一下这些消息常量,很多常用的窗口操作都可以实现。
在此,我建议大家平常多用消息常量,少用数字,因为数字实在太难读了,根本没法单独从数字读懂意思。
另外,在易语言里使用这些常量需要自己手工声明,可能有的人嫌麻烦就直接填写了数字,其实自动声明常量的工具有很多,善用工具会让你事半功倍。比如: 古木常量查询、windows消息查询器易语言版 、易语言API助手、彗星小助手
参考:常用Windows消息、常量命名参考
补充:MSDN 的全称是 Microsoft Developer Network。一般我们平常所说的MSDN是指MSDN Library,程序员必备手册,涵盖了微软全套可开发产品线的技术开发文档和科技文献(部分包括源代码)。 |
|