想动态改变父窗口。例如:
非模态对话框a,b,c。b的父窗口为a。现在想让b的父窗口为c。如何做?我试了::SetParent(b.m_hWnd, c.m_hWnd);
但是执行后b窗口消失了,a和c窗口都得不到焦点。我也不清楚怎么回事。。

解决方案 »

  1.   

    b窗口是CHILD类型还是POP_UP类型
      

  2.   

    SetParent结果类似于把一个窗口贴到别一个窗口上,
    并不是那种一个窗口始终在前效果。
    函数执行后应该不是消失了,而是窗口c的窗口比较小,没有显示出来。
    在执行SetParent函数之前,把窗口c和b都放到屏幕的左上角,
      

  3.   

    SetParent()以后,子窗口超出父窗口的部分就会被裁剪掉,看不到,你上面的b窗口可能没有消息,只是看不到而已
      

  4.   


    a和b都是POP_UP
    因为希望a和b只是Z轴序保持一定的关系,其他不想改变~
      

  5.   

    对于POP_UP类型的窗口OWNER==PARENT吧?
    其时我想设置的是owner,因为只有owner才能让被拥有者始终在拥有者的前面,但是我试过vc的SetOwner,好像不起作用
      

  6.   

    没人知道怎么回事么?
    我只是想让一个窗口b能动态设置拥有者窗口a或c~ 并且始终在a或c的上层显示。