delphi中没有窗口句柄的控件如何处理windows消息

timage控件没有窗口函数,所以处理不了消息。消息由其parent处理在其parent的winproc中,会利用GetControlsatpos来取得当前鼠标光标处的控件,如果取到了,则利用perform函数来将改消息发给这个控件(也就是调用控件的winproc函数),控件的winproc函数会处理这条消息,这里是用dispatchmessage函数来处理的,dispatchmessage利用汇编代码写的,其原理就是去虚拟方法表中找到标记了 message WM_LBUTTONDOWN的方法,并执行他。
发布了38 篇原创文章 · 获赞 19 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/truexf/article/details/7651290
今日推荐