适当重载适当的虚成员就可以对窗口的大小或位置的变化做出相应的处理。下面的代码就是个例子,他是一个单文档应用,其视图被一个编辑框控件和一个按钮垂直平分。
在头文件中:
CEdit m_wndEdit;
CButton m_wndButton;
实现文件中:
void CTextView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
CRect rectEdit(CPoint(0,0),CPoint(cx,cy));
this->m_wndEdit.MoveWindow(rectEdit);
CRect rectButton(CPoint(0,0),CPoint(cx,cy));
this->m_wndButton.MoveWindow(rectButton);
// TODO: 在此处添加消息处理程序代码
}
//#define IDC_MYEDIT 10001
//#define IDC_MYBUTTON 100005
int CTextView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此添加您专用的创建代码
CRect rect(0,0,0,0);
this->m_wndEdit.Create(WS_CHILD|WS_VISIBLE,rect,this,10001);
this->m_wndButton.Create(L"点击我",WS_CHILD|WS_VISIBLE,rect,this,100005);
return 0;
}
代码实现:
在后面的文章,我将讲解两个函数之间的注释部分。期待哦!