MFC单文档框架编程(三): CTabView的使用
2015-01-27 08:47
369 查看
1. 重载CTabView类,实现CConfBrdView。class CConfBrdView : public CTabView 2. 添加选项卡void CConfBrdView::OnInitialUpdate() //重载OnInitialUpdate函数{CTabView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类//创建选项卡AddView(RUNTIME_CLASS(CBCAudioView), _T("音频"), 103); //该选项卡为一个CBCAudioView试图 .... this -> GetTabControl().ModifyTabStyle( CMFCTabCtrl::STYLE_3D_VS2005); //风格this -> GetTabControl().SetTabBorderSize( 2 ); //边框大小this -> GetTabControl().HideSingleTab( TRUE ); //单个Tab时候不显示Tab标签this -> GetTabControl().EnableTabSwap( FALSE ); //禁止拖动 } 2. CBCAudioView视图 CBCAudioView视图继承自CListView, 用以显示一个表格. (class CBCAudioView : public CListView;)视图界面的初始化:BOOL CBCAudioView::PreCreateWindow(CREATESTRUCT& cs) //重载{// TODO: 在此添加专用代码和/或调用基类cs.style |= LVS_SHOWSELALWAYS | LVS_REPORT; //设置report风格return CListView::PreCreateWindow(cs);}void CBCAudioView::OnInitialUpdate() //重载{ CListCtrl& listCtrl = GetListCtrl(); //获取列表控件LONG lStyle;lStyle = GetWindowLong(listCtrl.m_hWnd, GWL_STYLE);//获取当前窗口stylelStyle &= ~LVS_TYPEMASK;//清除显示方式位lStyle |= LVS_REPORT;//设置styleSetWindowLong(listCtrl.m_hWnd, GWL_STYLE, lStyle);//设置style DWORD dwStyle = listCtrl.GetExtendedStyle();dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)//dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件listCtrl.SetExtendedStyle(dwStyle);//设置扩展风格 CRect rect;GetClientRect(rect); //添加两列表头 LV_COLUMN lvcolumn;lvcolumn.mask=LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;lvcolumn.fmt=LVCFMT_LEFT;lvcolumn.cx=rect.Width()/2;lvcolumn.iSubItem=0;lvcolumn.pszText=_T("配置项");listCtrl.InsertColumn(0,&lvcolumn); lvcolumn.iSubItem=1;lvcolumn.pszText=_T("值");listCtrl.InsertColumn(1,&lvcolumn);} 3. 重载OnUpdate函数显示数据CView *pView = GetActiveView();if (!pView->IsKindOf(RUNTIME_CLASS( CBCAudioView ))){return;}CListCtrl& listCtrl = ((CBCDevInfoView *)pView)->GetListCtrl();// 获取列表的控件listCtrl.SetItemText(0, 1, string);
相关文章推荐
- MFC单文档框架编程(三): CTabView的使用
- VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
- VS2010/MFC编程入门之三十九(文档、视图和框架:概述)
- (转载)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- VS2013/MFC编程入门之三十七(文档、视图和框架:各对象之间的关系)
- VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
- MFC单文档框架编程(二): SDI框架下的消息处理
- VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)
- (转载)VS2010/MFC编程入门之三十九(文档、视图和框架:概述)
- VS2010/MFC编程入门之三十九(文档、视图和框架:概述)
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
- VS2013/MFC编程入门之一(利用MFC向导生成单文档应用程序框架)
- MFC单文档框架编程(一): 分隔窗口的实现
- VS2010/MFC编程入门之一(利用MFC向导生成单文档应用程序框架)
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
- VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)
- VS2013/MFC编程入门之三十六(文档、视图和框架:概述)