MoveWindow()运行出错!!
大家好,我想使单文档CFromview中 的控件随窗口变化,我新编了一个CSynname类,保存了CFromview中控件的地址,在onsize中调控件大小
OnSize(UINT nType, int cx, int cy)
{
// CFormView::OnSize(nType, cx, cy);
//m_m_pControlArray是CPtrArray存放控件的信息
// TODO: Add your message handler code here
if (kong==TRUE)
{
int nIncrementX = cx - m_nWinWidth;
int nIncrementY = cy - m_nWinHeight;
int i=0;
int nMoveXPercent = ((CSynname*)m_pControlArray.GetAt(i))->m_nMoveXPercent;
int nMoveYPercent = ((CSynname*)m_pControlArray.GetAt(i))->m_nMoveYPercent;
int nZoomXPercent = ((CSynname*)m_pControlArray.GetAt(i))->m_nZoomXPercent;
int nZoomYPercent = ((CSynname*)m_pControlArray.GetAt(i))->m_nZoomYPercent;
CWnd*pWndCtrl=((CSynname*)m_pControlArray.GetAt(0))->m_pWnd;
HWND hWnd = pWndCtrl->GetSafeHwnd();
//if((NULL!=pWndCtrl)&&IsWindow(hWnd))
// {
int nLeft = ((CSynname*)m_pControlArray.GetAt(0))->m_rectWnd.left;
int nTop = ((CSynname*)m_pControlArray.GetAt(0))->m_rectWnd.top;
int nWidth = ((CSynname*)m_pControlArray.GetAt(0))->m_rectWnd.Width();
int nHeight = ((CSynname*)m_pControlArray.GetAt(0))->m_rectWnd.Height();
//设置新的位置参数
nLeft += (nIncrementX*nMoveXPercent/100);
nTop += (nIncrementY*nMoveYPercent/100);
nWidth += (nIncrementX*nZoomXPercent/100);
nHeight += (nIncrementY*nZoomYPercent/100);
// 把控件移动到新位置
pWndCtrl->MoveWindow(nLeft, nTop, nWidth, nHeight);
// }
//}*/
}
}单步运行到pWndCtrl->MoveWindow(nLeft, nTop, nWidth, nHeight);程序就崩溃,大家看看什么原因,谢谢!!