MFC單文件框架程式設計(三): CTabView的使用
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);//獲取當前視窗style lStyle &= ~LVS_TYPEMASK;//清除顯示方式位 lStyle |= LVS_REPORT;//設定style SetWindowLong(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);