收录日期:2018/07/18 14:56:26 时间:2016/05/21 14:12:28 标签:界面
一个关于属性表和属性页的问题.
   我在属性页中创建了一个无模式对话框,该无模式对话框创建时传入的父窗口指针为属性页.
可是我在该无模式对话框的一个函数中调用       
       CWnd *pWnd=NULL;
pWnd=GetParent();//->GetParent();
发现该pWnd竟然指向的是属性表而不是属性页.
当我用OnOK();关闭该无模式对话框的时候,属性页竟然看不见了.

对该属性页调用Invalidate();
UpdateWindow();也不管用.
只有最小化和最大化后重新可见.如果让属性表的OnEraseBkgnd(CDC* pDC) 返回真时才自动看到属性页,但是这个时候属性页的位置不是预想的.这种问题该怎么解决???


OnOK()为如下代码.
{// Retrieve and validate dialog data .
   if (! UpdateData (TRUE) )
   {
      // the UpdateData rountine will set focus to correct item
      TRACE(" UpdateData failed during dialog termination .\n") ;
   return ;
   }
   //Call DestroyWindow instead of EndDialog .
   DestroyWindow ( ) ;
  
}

不清楚,帮你顶。
Up
gz/up
你要Getparent干什么?你只要在属性页的onok下写你的ok语句就可以了,其他没有必要了,除非你想自己画属性对话框
我有个DEMO,关闭对话框之后属性页的显示是正常的。如果你想要,我可以发给你