如图:
问题1:如何去除滚动条:
我用的方法如下:
在CMainFrame.cpp中找到
CCreateContext * pContext)
... {
return m_wndSplitter.Create(this,
2, 2, // TODO: 调整行数和列数
CSize(10, 10), // TODO: 调整最小窗格大小
pContext,WS_CHILD|WS_VISIBLE|SPLS_DYNAMIC_SPLIT
);
}
我们加入了WS_CHILD|WS_VISIBLE|SPLS_DYNAMIC_SPLIT样式, 我们来看看MSDN里关于CSplitterWnd的
Create函数的定义
BOOL Create( CWnd* pParentWnd, int nMaxRows, int nMaxCols, SIZE sizeMin, CCreateContext* pContext, DWORD dwStyle = WS_CHILD | WS_VISIBLE |WS_HSCROLL | WS_VSCROLL | SPLS_DYNAMIC_SPLIT, UINT nID = AFX_IDW_PANE_FIRST );
WS_HSCROLL | WS_VSCROLL 表示横竖的滚动条,很明显,我们的方法就是把这样样式去掉,这样出来的窗口就没有了滚动条了,OK,让我们运行一下...
发现当窗口改变大小时,当主窗口小于view窗口时,滚动条又出现了...于是baidu了一下,我们得到如下方法
在View添加OnSize消息处理,代码如下:
void CSDIFC3DView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
SetScrollSizes(MM_TEXT,CSize(0,0));
}
OK,我们再次运行,看看结果吧:
窗口变得最小了,不能再小了,
怎么办,于是又baidu找到这样的方法:
在CSDIFC3D.cpp(其中SDIFC3D是工程名)找到InitInstance()函数:
在
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
下面加入代码
m_nCmdShow = SW_SHOWMAXIMIZED;//第一次就最大化代码
再次运行,呵呵,只要一运行就最大化了...
这个问题终于解决了...