一个关于属性表和属性页的问题.
我在属性页中创建了一个无模式对话框,该无模式对话框创建时传入的父窗口指针为属性页.
可是我在该无模式对话框的一个函数中调用
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 ( ) ;
}
不清楚,帮你顶。
你要Getparent干什么?你只要在属性页的onok下写你的ok语句就可以了,其他没有必要了,除非你想自己画属性对话框
我有个DEMO,关闭对话框之后属性页的显示是正常的。如果你想要,我可以发给你