终于有一个同胞遇到和我同样的问题了。你可以新建一个项目做实验,在子窗口和视窗口分别设计好一样的响应函数,比如在子窗口的左键单击响应弹出提示窗口“child”,在视窗口的左键单击响应弹出“view”,可以发现弹出的是view。这是为什么呢?将子窗口的风格逐个实验,发现是WS_EX_LAYERED风格的问题,去掉这个风格就没有问题了。可能是因为这个透明属性将按键也给透过去了吧。但是这个属性有时候是我们需要的功能,没办法,只能在view中响应了。期待解决办法...

解决方案 »

  1.   

    本帖最后由 VisualEleven 于 2014-08-14 11:31:48 编辑
      

  2.   


    多谢大老哥回答,但是,事件是响应了,可是我用updatelayertwindow贴的图却全部变黑了。有没有两全其美的方法?
    非常感谢!
      

  3.   

    原来是UpdateLayeredWindow的窗口啊。 用过这个函数的窗口只有主窗口能够接受消息,Windows把它直接映射到composit缓存中了,对系统来说只有这个窗口是事实存在的,而且它的显示是由底层bmp32支持的,所有子窗口都不存在。
      

  4.   

    另外直到Windows 8 才支持子窗口的WS_EX_LAYERED属性