做了一个无模式对话框,作为一个信息显示栏,当我在主对话框中左击时显示出该信息对话框,再次左击时隐藏。但我发现一个问题,每次左击时,该对话框的尺寸都比上一次的小一些
BOOL CMFCMsgTipDlg::OnInitDialog()
{
        // ...
m_pMsgTip = new CMsgTipDlg();
m_pMsgTip->Create(CMsgTipDlg::IDD , this); return TRUE;  // return TRUE  unless you set the focus to a control
}void CMFCMsgTipDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if (m_pMsgTip->IsWindowVisible())
{
m_pMsgTip->ShowWindow(SW_HIDE);
}
else
{
m_pMsgTip->ShowWindow(SW_SHOW);
CRect rect;
m_pMsgTip->GetClientRect(&rect); m_pMsgTip->MoveWindow(point.x , point.y , rect.Width() ,rect.Height());
} CDialog::OnLButtonDown(nFlags, point);
}后来我又发现如果把GetClientRect换成GetWindowRect就没问题了。
搞不明白的是,第一次左击时已经获取了正确的宽和高,为何第二次显示时尺寸就变了?