我创建了一个单文档的工程,在视图类OnCreate(LPCREATESTRUCT lpCreateStruct)里面动态创建了一个CTabCtrl,
但是显示出来的结果是标签没有了准确的说是一条线,光有一个选项卡上的控件,
我在OnSize(UINT nType, int cx, int cy)
里面加了些控制控件大小变化的代码就显示出来了。奇怪了,有人碰到过吗?
补充一下我的视图是基于CFormView的,在OnSize里面的代码如下:
if (m_wndTabSheet.GetSafeHwnd())
{
CRect rect;
GetClientRect(rect);
CMainFrame *pMainWnd = reinterpret_cast<CMainFrame *>(AfxGetMainWnd());
m_wndTabSheet.MoveWindow(rect);
}
但是显示出来的结果是标签没有了准确的说是一条线,光有一个选项卡上的控件,
我在OnSize(UINT nType, int cx, int cy)
里面加了些控制控件大小变化的代码就显示出来了。奇怪了,有人碰到过吗?
补充一下我的视图是基于CFormView的,在OnSize里面的代码如下:
if (m_wndTabSheet.GetSafeHwnd())
{
CRect rect;
GetClientRect(rect);
CMainFrame *pMainWnd = reinterpret_cast<CMainFrame *>(AfxGetMainWnd());
m_wndTabSheet.MoveWindow(rect);
}
GetClientRect(&rect);
// TODO: Add your specialized creation code here
m_tab.Create(TCS_TABS | WS_CHILD | WS_VISIBLE, rect, this, 1101);
m_tab.InsertItem(0, _T("AA"));
m_tab.InsertItem(1, _T("BB"));
m_tab.InsertItem(2, _T("CC"));
{
if (CFormView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
if ( !m_wndTabSheet.Create(this, CRect(0,0,0,0), TCS_TABS|WS_CHILD | WS_VISIBLE) )
{
TRACE0("Failed to create tab sheet\n");
return -1; // fail to create
}
m_pMyInfoView=new CMyInfoView;//
m_pMyInfoView->Create(NULL, NULL, /*WS_BORDER |*/ WS_CHILD | WS_VISIBLE,
CRect(0, 0, 0, 0), &m_wndTabSheet, IDD_FORMVIEW_GROUPBYA, NULL); ((CMyInfoView *)m_pMyInfoView)->OnInitialUpdate(); m_pMyInfoView1=new CMyInfoView1;//
m_pMyInfoView1->Create(NULL, NULL, /*WS_BORDER |*/ WS_CHILD | WS_VISIBLE,
CRect(0, 0, 0, 0), &m_wndTabSheet, IDD_FORMVIEW_GROUPBYB, NULL); ((CMyInfoView1 *)m_pMyInfoView1)->OnInitialUpdate();
//////////////////////////////////////////////////////////////////////////
m_wndTabSheet.AddPage(m_pWellInfoView,TEXT("A组列表"),AfxGetApp()->LoadIcon(IDI_ICON1));
m_wndTabSheet.AddPage(m_pUserInfoView,TEXT("B组列表"),AfxGetApp()->LoadIcon(IDI_ICON2));
return 0;
}再看看吧