MFC静态划分窗口
我想实现一个静态划分:有3列,第一列有一行,第二,三列各有2行。
这是我的实现代码:
- C/C++ code
CRect rect;GetClientRect(&rect);CSize size=rect.Size();m_MySplitter1.CreateStatic(this,1,3); m_MySplitter1.CreateView(0,0,RUNTIME_CLASS(COperateView),CSize(size.cx*1/5,0),pContext);m_MySplitter2.CreateStatic(&m_MySplitter1,2,1,WS_CHILD|WS_VISIBLE,m_MySplitter1.IdFromRowCol(0,1));m_MySplitter2.CreateView(0,0,RUNTIME_CLASS(CTopView),CSize(size.cx*2/5,size.cy*1/2),pContext);m_MySplitter2.CreateView(1,0,RUNTIME_CLASS(CFrontView),CSize(size.cx*2/5,size.cy*1/2),pContext);m_MySplitter3.CreateStatic(&m_MySplitter1,2,1,WS_CHILD|WS_VISIBLE,m_MySplitter1.IdFromRowCol(0,2));m_MySplitter3.CreateView(0,0,RUNTIME_CLASS(CTestView),CSize(size.cx*2/5,size.cy*1/2),pContext);m_MySplitter3.CreateView(1,0,RUNTIME_CLASS(CSideView),CSize(size.cx*2/5,size.cy*1/2),pContext);
但是却没有得到我想要的结果。结果是第二列被隐藏了,没有显示出来。有第二列的边框,却看不到视图。求大牛指导!
[解决办法]
中间列要指定宽度:
SetColumnInfo(1,30, 20);