查了很多资料,对消息处理的细节有了一些了解,但对大的框架还是不懂。
只知道:WINDOWS把消息放到应用程序队列,DELPHI程序取得消息后,发送到指定的VCL组件的窗口函数来处理。
由于对WINDOWS的消息机制不太明白,所以对WINDOWS何时回调、为何回调,为何initwndproc()只调用一次,何时执行delphi的initwndproc()进行窗口方法替代等不明白。
请高手赐教或推荐文章。

解决方案 »

  1.   

    看看李维老师的《VCL架构剖析》
    CSDN上,有几位牛人写类似的文章
      

  2.   

    楼主看看这些:DELPHI中的消息处理机制     选择自 ghj1976 的 Blog
    http://dev.csdn.net/article/0/423.shtmVCL消息处理机制的内幕     选择自 ehom 的 Blog
    http://dev.csdn.net/develop/article/17/17723.shtm
      

  3.   

    WINDOWS何时回调、为何回调,为何initwndproc()只调用一次,何时执行delphi的initwndproc()进行窗口方法替代================
    请帮助解释一下。
      

  4.   

    DispatchMessage(Msg);//将记录Msg回传给Windows
      
    ===================
    不是将消息发送到VCL组件吗为何是回传给windows?
      

  5.   

    窗口在建立时,会调用Twincontrol.create()
    窗口内的控件是如何建立的?会不会也调用Twincontrol.create()?如果是的话,是不是为窗口内的所有可视控件进行窗口函数转换(我觉得不可能)?是不是只转换主窗口的窗口函数供WINDOWS调用,再在主窗口的窗口函数中分派消息并调用可视控件的消息处理函数?