我想问的问题是,消息在发送到窗体后,这时候,由系统根据消息的定义,来调用回调函数进行处理窗口过程。
1.这个回调函数是在哪个进程里面的?是属于应用程序的进程还是属于系统单独的进程,因为回调函数得到的为函数的地址。
2.消息到达窗口后,处理的必须为对象的方法。这和回调函数有什么关系?回调函数的函数地址不能是对象的方法地址吗?
3.消息的处理是不是只有窗口之间才可以,也就是说消息只能在隐含或者已有的窗体之间进行传递处理,这个和线程之间的消息传递有什么区别,线程之间也是用消息同步的吗?
1.这个回调函数是在哪个进程里面的?是属于应用程序的进程还是属于系统单独的进程,因为回调函数得到的为函数的地址。
2.消息到达窗口后,处理的必须为对象的方法。这和回调函数有什么关系?回调函数的函数地址不能是对象的方法地址吗?
3.消息的处理是不是只有窗口之间才可以,也就是说消息只能在隐含或者已有的窗体之间进行传递处理,这个和线程之间的消息传递有什么区别,线程之间也是用消息同步的吗?
解决方案 »
- DBGridEh为什么不能跟进到单元代码里?
- delphi获取word文件的选择内容
- 如何取ComboBox内容的前几位?
- 提供网上极少见的Delphi 2005 Partner CD下载,请求帮主置顶
- word 的调用问题 急 在线等;;;;
- 请教,如何在delphi7中用servers里的控件连接word
- 有一个关于串口与语音的问题,有哪位高手实现过吗?
- 求版主别删除!www.new7wonders.com/ 距离世界七大奇迹选举结束日子不多了,至今为止参加投票的中国人只占总投票人数的5.9%,排名第5,这
- 哪位知道clone方法的用法,有详细例子的更好。
- 请问inc()是什么函数,主要作用是什么,在C++中有无对应的函数?谢谢大家
- 在ComboBox下加增加,编辑按扭
- C++可以函数跟结构体同名?那转成delphi怎么办?
2、对象方法的指针和windows标准方法的指针是有差别的,不能直接使用对象的方法,delphi自身会提供一个方法叫MakeObjectInstance,参数是TWndMethod类型的对象方法,函数对此方法执行转换;
3、要理解这个问题,要先理解队列消息和非队列消息的执行流程。
一般来说,与线程之间的消息传递,都是队列消息,常用API:PostMessage or PostThreadMessage;
当然窗口的消息,比如WM_MOUSEMOVE等也是队列消息——从该GUI线程的消息队列中提取。
非队列消息就不走消息队列这条路了,直接由API派送到窗口过程,一般是自身或外部直接sendmessage。