我用VC6的基于对话框的.exe来来实现对话框的收缩和扩展(其实就是改变一下对话框的大小)。在CMyDlg类中增加两个CRect类的成员变量rectlarge和rectsmall,分别保存收缩后河扩展后的窗口的大小,在BOOL CMyDlg::OnInitDialog()中对rectlarge进行初始化。现在存在的问题是:在CMyDlg类中调用GetWindowRect(&rectlarge)函数后,rectlarge.top和rectlarge.left都为0,这样虽然最后也能实现对话框的收缩和扩展,但对话框一下子就跑到屏幕左上角了,后面的
if(m_sta==FALSE)
{
SetWindowPos(NULL,rectsmall.left,rectsmall.top ,rectsmall.Width(),rectsmall.Height(),SWP_NOZORDER|SWP_NOMOVE);
m_sta=TRUE;
}
else
{
SetWindowPos(NULL,rectlarge.left,rectlarge.top ,rectlarge.Width(),rectlarge.Height(),SWP_NOZORDER|SWP_NOMOVE);
m_sta=FALSE;
}
}
这是什么原因呢?