CMainFrame:OnSize//处理的切分后窗口大小//三句代码在OnCreate函数没有关问题,放在OnSize函数里就出有关问题了
CMainFrame::OnSize//处理的切分后窗口大小//三句代码在OnCreate函数没问题,放在OnSize函数里就出问题了
------解决方案--------------------
col的值是多少
m_nMaxCols的值又是多少
是不是col > m_nMaxCols了??
------解决方案--------------------
m_nMaxCols=0,
分割没完成。
------解决方案--------------------
OnSize消息触发时机问题,当UI从0变大时(即进行Create),也会触发OnSize
------解决方案--------------------
在OnSize跟窗口相关的操作的话,先判断窗口句柄是否不为NULL
if(NULL != xxx.GetSafeHwnd())
{
....
}
void CSplitterWnd::SetColumnInfo(int col, int cxIdeal, int cxMin)
{
ASSERT_VALID(this);
ASSERT(col >= 0 && col < m_nMaxCols);//断点到这错误了!!!!!!!!!!!!111
ASSERT(cxIdeal >= 0);
ASSERT(cxMin >= 0);
m_pColInfo[col].nIdealSize = cxIdeal;
m_pColInfo[col].nMinSize = cxMin;
}
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CFrameWndUI::OnSize(nType, cx, cy);
CRect rect;
GetClientRect(&rect);
//CSize size(200,100);
m_wndSplitter1.SetColumnInfo(0,285,0);
m_wndSplitter3.SetRowInfo(0,rect.Height()-100,0);
m_wndSplitter2.SetRowInfo(0,rect.Height()+50,0);//rect.Height()/3
// TODO: 在此处添加消息处理程序代码
}
------解决方案--------------------
col的值是多少
m_nMaxCols的值又是多少
是不是col > m_nMaxCols了??
------解决方案--------------------
m_nMaxCols=0,
分割没完成。
------解决方案--------------------
OnSize消息触发时机问题,当UI从0变大时(即进行Create),也会触发OnSize
------解决方案--------------------
在OnSize跟窗口相关的操作的话,先判断窗口句柄是否不为NULL
if(NULL != xxx.GetSafeHwnd())
{
....
}