SetParent后会出现部分刷新的消息被阻断,不知道有没有达来可以来给个方法解决比如说我把画图给SetParent到一个GROUP控件中后,其实刷新有问题
比如说TOOLBAR的wm_ncpaint(好像);有没有人来讨论一下呢。单单的使用Invalidate();updatawindow等没有效果。

解决方案 »

  1.   

    看来我一头扎在代码堆里是不行的,是时候去温习下国语了,楼主说得基本上就没看懂,问题很严重! 
    以下只是猜测:
      是不是说控件SetParent后,他的Notify消息父窗口没有处理,造成他状态不更新?
    处理方法;
      父窗口截获这些消息,对于他不感兴趣的消息,反射给控件(ReflectLastMsg)。
      

  2.   

    正如楼上说的,我的确是表达上有问题,呵呵,道歉;
    我是意思是,假如我的程序的主窗体中有一个GROUP控件,我使用SetParent,将XP中自带的画图,
    的嵌入到这个GROUP控件中,这时,用别的窗体档住画图的一部分,再移开,有部分区域不会刷新;
    也可以这么说
    用SetParent将一个程序的主窗体设置为另一个程序主窗体的子窗体,返回成功
    ,但是子窗体的界面没有刷新,只有在最小化然后恢复以后才能正常显示;
      

  3.   

    使用GOOGLE和BAIDU找了一圈了,没有发现有关这个东西的解决方法,
    我使用CWnd->Invalidate(),子窗体的确是响应了刷新,但是对其中的
    按钮部分的刷新有问题,UpdateWindow,UpdateData,均没有用,
    等待中...................
      

  4.   

    头都大了,试了N种方法了,看来全是SetParent惹的事。。
      

  5.   

    对于SetParent,msdn里面说明了父子窗口必须是同一个进程的。但是由于窗口句柄是系统全局唯一的,不属于同一个进程的情况下,也可以成功调用,但是后果未知。
      

  6.   

    父窗口增加 WS_CLIPCHILDREN Style 就可以了.