delphi的消息处理(50分)

  • 主题发起人 主题发起人 teleman2000
  • 开始时间 开始时间
button响应SendMessage(Button1.handle,WM_LButtonDown,0,0),是通过向Windows注册的回调函数吗?
 
看看DELPHI开发指南
 
我没有这本书,我也怕自己看不懂
 
button响应SendMessage(Button1.handle,WM_LButtonDown,0,0),是通过向Windows注册的回调函数吗?
当然是了!不信你可以在窗体上定义这个消息方法,然后还是发送到按钮,你看它是执行窗体中消息方法还是按钮中的消息方法.
注意:所谓的消息方法是delphi自己定义的,它通过自己编译器建立的DMT来查找,而它的入口就在窗口过程中常见到的Dispatch了!
 
总算明白一些了,但还是因为愚钝+基础差,有些地方不明白。虽然不好意思再问,但还是硬着头皮问吧。
是不是可以这样想:打个比方说,如果按钮不注册窗口函数,在delphi中一般是可以正确处理button消息的,因为Form的WndProc会为它转发。
对吗?
 
我想 , 按钮也是窗口 要给出回调函数的。。:) 除非是没有句柄的“按钮”
关于最原始的窗口生成过程 可以参考我那代码: http://www.2ccc.com/article.asp?articleid=942
 
按钮没有消息循环。。。 :)
 
同意晶晶的说法。
Delphi中的封装的确是利用响应WM_COMMAND消息来处理,也就是超类化。而我们可以注册自己的消息处理过程(也就是在CreateWindoEx函数所指定的窗口过程)
 
谁能给详细总结一下?谢谢
 
后退
顶部