目标:
以前总是做弹出对话框来收集数据,现在想在一个框架下来完成目标如下图
方法:
1.先声明一个新的view类,命名为CMyView,由CView派生。
2.重载CMainFrame类的OnCreateClient函数,在其中加入如下代码:
if (!m_wndSplitter.CreateStatic(this,1,2))//静态分栏,分成一行两列
{
return FALSE;
}
if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CMyView),
CSize(300,0),pContext))//最左面的为我们刚刚定义的CMyView类的显示区域,嵌入CEdit用于收集
{
return FALSE;
}
if (!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CTest_spliter_12_18View)
,CSize(0,0),pContext))//此处为编译器提供的view类,我们用于显示
{
return FALSE;
}
return TRUE;
3,在CMyView类里加入CEdit声明的变量,我们命名为m_edit。
4.重载CMyView类里的OnInitialUpdate函数,在此函数里加入如下代码:
CRect rect;
GetClientRect(rect);//获得客户区的大小
//rect.bottom -= 100;
m_edit.Create(ES_AUTOVSCROLL|ES_AUTOHSCROLL|ES_MULTILINE|
ES_WANTRETURN,rect,this,1);//此处为创建一个CEdit,具有水平和垂直滚动条,
//多行显示和接受回车换行符
m_edit.ShowWindow(SW_SHOW);//显示控件
CView::OnInitialUpdate();
5.F5运行一下,成功!