我在MFC文档视图里面,在CView的OnCreate创建了2个CEdit,然后在OnDraw函数中move到同一个位置,2个CEdit一个大,一个小,我想实现哪个在上面就响应哪个的消息函数,我试了很多次,我发现如果我把小CEdit通过BringWindowToTop后,消息可以正常响应,但是显示不出来,大的CEdit会把小的覆盖,不知到各位有没有遇到过,或累似的问题,谢谢了。

解决方案 »

  1.   

    为什么?我调用 m_cTxtRes.SetWindowPos(&wndTop, 0, 0, 0, 0, SWP_SHOWWINDOW);后,这个Edit的消息可以响应到了,但是显示却被另外一个Cedit(填充了背景色,比m_cTxeRes大)覆盖????
      

  2.   

    我想实现类似Word里面文本框的效果,比如我有2个文本框,一个在上,一个在下,就像可以通过鼠标右键控制哪个在上,哪个在下一样.
    多谢!
      

  3.   

    SetWindowPos和窗口属性WS_CLIPSIBLINGS结合使用,可解决这个问题。有人讨论过这个问题的。
      

  4.   

    好的,没有问题,马上给分哈。除了设置WS_CLIPSIBLINGS属性外,还必须注意,就是只能有一个窗口在Z-Order的TopMost,如果有2个窗口都是TopMost,则不会成功的。