有请各位高手:(挥泪大摔卖)(20分)

  • 主题发起人 主题发起人 netbug
  • 开始时间 开始时间
N

netbug

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Delphi中自带的messages.pas的文件中发现:任一一个消息wm_xxxx都有<br>个Twmxxxx记录类型,我想请教各位高手:<br>一:这两者之间有什么关系?<br>二:发送某个系统消息,系统返回的信息存在哪?(如:系统发送sendmessage(hdw,wm_gettext,,),<br>用户到哪里去接收?)<br>谢谢.
 
1。wm_xxxx对应Twmxxxx<br>2。hdw的所有者接收消息
 
同意.如果是TMessage,参数是wParam,lParam<br>如果是wm_xxxx,参数就具体了,见win32帮助
 
&nbsp;WM_XXXXX是Windows本身的,它是一个数,具体意义是在两个param中,<br>如果你对消息很熟,没问题,如果不熟,Delphi提供了引用类型参考,可<br>以让你方便的引用消息的内容。比如:如果一个坐标点是放在Lparam中的,<br>如果你直接用Windows的消息参数,自己要设法分离出x,y,而用Delphi就<br>可直接用 Message.x ,Message.y(仅是说明,不是源码)来引用消息,这<br>样就方便了。
 
TWMxxx 和 TMessage 是一样的内存分配,只是多了点具体有用的表达
 
netbug记着给我一分。
 
netbug你怎么会用的一分不剩呢
 
我认为:<br>由于Windows系统已经提供了具认为是足够多的消息,但毕竟每个人要求的信息<br>确是不同的,为便于编程人员自由使用消息,Delphi就采用了将用户自定义的<br>消息名作为整个Windows消息库中的一个子来管理,所以才有TWMxxx的用法.
 
&gt;&gt;netbug你怎么会用的一分不剩呢<br><br>因为netbug的总分只有160分,真是奇怪,每天5分的利息也没了??
 
to Jams:<br>Delphi使用TWMXXX并非用来处理用户自定义消息之类,而是为了方便我们大家<br>处理消息的各个参数.<br>观点人人都有,但各有不同.<br>
 
可以这样接收<br>public &nbsp;//须在窗体的Public处声明因为由窗体的Handle接收次Message<br>procedure mypro(var msg:Tmessage);message Wm_xxx;<br>&nbsp; &nbsp; &nbsp;begin<br>&nbsp; &nbsp; &nbsp;//do anything<br>&nbsp; &nbsp; &nbsp;msg.msg<br>&nbsp; &nbsp; &nbsp;msg.wparam &nbsp;//wparam.hi,wparam.lo<br>&nbsp; &nbsp; &nbsp;msg.lparam &nbsp;//lparam.hi,lparam.lo &nbsp; <br>&nbsp; &nbsp; &nbsp;end;<br>//Wm_xxx=Wm_user+x Windows本身占用了一部分消息号,用户消息从WM_user
 
&gt;因为netbug的总分只有160分,真是奇怪,每天5分的利息也没了??<br>难道netbug得罪了斑竹?
 
接受答案了.
 
后退
顶部