我在一个CControlbar里放了一个CFormView,我要在这个CFormView里画图。
// MainFrm.cpp
m_pView = new CFDView;
CCreateContext *pContext =
(CCreateContext*) lpCreateStruct->lpCreateParams;m_pView->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,
CRect(0,0,GetSystemMetrics(SM_CXSCREEN),
GetSystemMetrics(SM_CYSCREEN)/8),//我不知道怎么办这里就用
//了GetSystemMetrics,不过一点用也没有。
&m_wndMyBar2,126,pContext);m_pView->UpdateWindow();然后我在
CFDView.cpp里
CRect rect;
GetClientRect(rect)
发现rect.width()和rect.hight()和我在资源编辑里生成的那个dialog一样大,而不是和我放入CControlBar后的CFormView的整个客户区一般大。
而且在onsize()
CRect rect;
GetClientRect(rect)
发现rect.width()和rect.hight()也没有变化如果我要画图也只画在那个dialog的大小内才可以,超了就没了。怎么办呀,我想了半天了。
// MainFrm.cpp
m_pView = new CFDView;
CCreateContext *pContext =
(CCreateContext*) lpCreateStruct->lpCreateParams;m_pView->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,
CRect(0,0,GetSystemMetrics(SM_CXSCREEN),
GetSystemMetrics(SM_CYSCREEN)/8),//我不知道怎么办这里就用
//了GetSystemMetrics,不过一点用也没有。
&m_wndMyBar2,126,pContext);m_pView->UpdateWindow();然后我在
CFDView.cpp里
CRect rect;
GetClientRect(rect)
发现rect.width()和rect.hight()和我在资源编辑里生成的那个dialog一样大,而不是和我放入CControlBar后的CFormView的整个客户区一般大。
而且在onsize()
CRect rect;
GetClientRect(rect)
发现rect.width()和rect.hight()也没有变化如果我要画图也只画在那个dialog的大小内才可以,超了就没了。怎么办呀,我想了半天了。
// MainFrm.cpp
m_pView = new CFDView;
CCreateContext *pContext =
(CCreateContext*) lpCreateStruct->lpCreateParams;m_pView->Create(NULL,NULL,WS_CHILD|WS_VISIBLE,
CRect(0,0,GetSystemMetrics(SM_CXSCREEN),
GetSystemMetrics(SM_CYSCREEN)/8),//我不知道怎么办这里就用
//了GetSystemMetrics,不过一点用也没有。
&m_wndMyBar2,126,pContext);m_pView->UpdateWindow();然后我在
CFDView.cpp里
CRect rect;
GetClientRect(rect)
发现rect.width()和rect.hight()和我在资源编辑里生成的那个dialog一样大,而不是和我放入CControlBar后的CFormView的整个客户区一般大。
而且在onsize()
CRect rect;
GetClientRect(rect)
发现rect.width()和rect.hight()也没有变化如果我要画图也只画在那个dialog的大小内才可以,超了就没了。怎么办呀,我想了半天了。
OnInitaialUpdate();即可。实现如下:
void YourFormView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit(FALSE);
ResizeParentToFit(TRUE);
}
不管用
this->GetClientRect(&rect);
((CButton *)GetDlgItem(IDC_BUTTON1))->MoveWindow(&rect,TRUE);
添加到InitDialog里面即可!
Sorry!看过题目!ResizeParentToFit(FALSE);
添加到InitDialog里面即可!
Top