我把窗口的SetParent之后,窗口里面的按钮没有响应事件了,怎么解决?

解决方案 »

  1.   

    1)getwindowlong2)必须替换窗口过程。
      

  2.   

    是不是说在SetParent之前,要先通过GWL_WNDPROC得到原窗口的处理过程地址,
    然后SetParent,再指定处理过程地址给窗口呢??
      

  3.   

    比如你需要把开始菜单的按钮移动到你的程序上面,当你点开始按钮的时候已经没有可供执行的代码了,这时需要拦截自己窗体上的按钮点击事件,根据HWND,MESSAGE,WPARAM,LPARAM等执行相应的函数,事实上改动自己的窗口过程和改动别人的窗口过程类似,我同意你说的。
      

  4.   

    我把窗口的SetParent之后,窗口里面的按钮没有响应事件了,怎么解决?=================================================================按键等传统Windows控件都是用发送WM_Command通知消息给父窗口实现点击事件的通知的所以用SetParent后
    控件的父窗口改变了
    所以控件还是固执得给自身的父窗口发通知消息
    而不是原来的父窗口
    但 VB IDE 只对原来的父窗口的通知消息进行了处理
    以致造成无法得到点击事件的现象解决办法:用SubClass技术处理控件的新父窗口的消息
      

  5.   

    用SubClass技术处理控件的新父窗口的消息
    是一种什么样的技术呢?我都没有听说过啊,可不可以在VB里面用?怎么使用?谢谢