问题参看这里http://topic.csdn.net/t/20060331/18/4654849.html    一个基本的对话框程序,在界面上放置两个picture控件,这两个控件都可以随鼠标运动。
    运行程序,在鼠标控制控件移动的过程中,控件出现了覆盖,但是被覆盖的控件能响应按键消息,表层的反而不可以
    从Z-Order来解释,按钮处在Z-Order的前面,所以消息先被按钮处理,这点可以理解,但是为什么在Z-Order前面的显示反而会在后面。   
    我用 GetDlgItem(IDC_STATIC2)->SetWindowPos(&wndTop,rect2.left,rect2.top,rect2.Width(),rect2.Height(),SWP_NOSIZE); 改变空控件在Z-Order上的顺序,但是处理消息的顺序和显示的顺序是相反的,即:被遮住的控件相应了消息    我发现在同一个窗口中的不同控件,显示的优先级和处理消息的优先级刚好是反的,如果能看见的话就不能处理到消息。请指教!
里面的最佳回答是这样的: 

控制的显示DC是共用的,不要指望依靠Z-ORDER,你可以试着对按钮或者List进行Move操作,他们直接的显示关系会变化
有人能解释下不?