//////////////////////////////////////////////
在 CMainFrame::OnCreateClient中创建如下切分窗口://创建一个静态分栏窗口,分为三行一列
if(m_wndSplitter1.CreateStatic(this,3,1)==NULL)
return FALSE;
……
//将第1行0列再分开1行2列
if(m_wndSplitter2.CreateStatic&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(1, 0))==NULL)
return FALSE;
……
//设置分栏大小
int m_nScreenWidth;
m_nScreenWidth = ::GetSystemMetrics(SM_CXSCREEN);
if ( m_nScreenWidth==800 )
{
m_wndSplitter1.SetRowInfo( 0, 20, 0);
m_wndSplitter1.SetRowInfo( 1, 205, 0);
}
else if ( m_nScreenWidth==1024 )
{
m_wndSplitter1.SetRowInfo( 0, 20, 0);
m_wndSplitter1.SetRowInfo( 1, 370, 0);
} _____________
| 1 |
-------------
| 2 | 3 |
| | |
-------------
| 4 |
| |
-------------////////////////////////////////////////////////////
我想在程序运行时 用户能够通过点一个按钮来把上图的第4个分窗搞小一点:
代码如:CMainFrame::SwitchBottom(bHide)
{
……
m_wndSplitter1.SetRowInfo( 1, 500, 0); 《--编译可以通过,可是运行到这里就出错!只有重试、终止、取消3个按钮!!
……
}///////////////////////////////////////////
我应该怎么做才可以挑战4号窗口的大小
在 CMainFrame::OnCreateClient中创建如下切分窗口://创建一个静态分栏窗口,分为三行一列
if(m_wndSplitter1.CreateStatic(this,3,1)==NULL)
return FALSE;
……
//将第1行0列再分开1行2列
if(m_wndSplitter2.CreateStatic&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(1, 0))==NULL)
return FALSE;
……
//设置分栏大小
int m_nScreenWidth;
m_nScreenWidth = ::GetSystemMetrics(SM_CXSCREEN);
if ( m_nScreenWidth==800 )
{
m_wndSplitter1.SetRowInfo( 0, 20, 0);
m_wndSplitter1.SetRowInfo( 1, 205, 0);
}
else if ( m_nScreenWidth==1024 )
{
m_wndSplitter1.SetRowInfo( 0, 20, 0);
m_wndSplitter1.SetRowInfo( 1, 370, 0);
} _____________
| 1 |
-------------
| 2 | 3 |
| | |
-------------
| 4 |
| |
-------------////////////////////////////////////////////////////
我想在程序运行时 用户能够通过点一个按钮来把上图的第4个分窗搞小一点:
代码如:CMainFrame::SwitchBottom(bHide)
{
……
m_wndSplitter1.SetRowInfo( 1, 500, 0); 《--编译可以通过,可是运行到这里就出错!只有重试、终止、取消3个按钮!!
……
}///////////////////////////////////////////
我应该怎么做才可以挑战4号窗口的大小
{
ASSERT_VALID(this);
ASSERT(row >= 0 && row < m_nMaxRows); <--------这句过不去啊
ASSERT(cyIdeal >= 0);
ASSERT(cyMin >= 0); m_pRowInfo[row].nIdealSize = cyIdeal;
m_pRowInfo[row].nMinSize = cyMin;
}
在某些情况下
为什么会在运行时产生错误 应该怎么解决?