Sfoglia il codice sorgente

1、添加其他栏;

sat23 4 anni fa
parent
commit
3d8404a32b

+ 1 - 1
CTSManager/CTSManager/MainFrm.cpp

@@ -287,7 +287,7 @@ BOOL CMainFrame::CreateDockingWindows()
 	bNameValid = strClassView.LoadString(IDS_CLASS_VIEW);
 	ASSERT(bNameValid);
 	// 如何禁止改变大小:将最后2个默认参数全改为,将且删除注册表“应用程序向导生成的本地应用程序”才会生效;
-	if (!m_wndNavBar.Create(strClassView, this, CRect(0, 0, 300, 200), FALSE, ID_VIEW_CLASSVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT, 0, 0))
+	if (!m_wndNavBar.Create(strClassView, this, CRect(0, 0, 215, 200), FALSE, ID_VIEW_CLASSVIEW, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | CBRS_LEFT, 0, 0))
 	{
 		TRACE0("未能创建“文件视图”窗口\n");
 		return FALSE; // 未能创建

+ 77 - 45
CTSManager/CTSManager/Navbar.cpp

@@ -104,51 +104,7 @@ int CNavbar::OnCreate(LPCREATESTRUCT lpCreateStruct)
 		pButton->SetMessageWnd(this);
 	}
 
-#if 1
-	TCHAR szPath[MAX_PATH] = {0};
-	m_DrawerCtrl.Create(WS_VISIBLE | WS_CHILD, CRect(0, 23, 350, 500), this, 10000);
-	_stprintf_s(szPath, _T("%sSkin\\DefaultTheme\\Bar.bmp"), Global::g_szCurModuleDir);
-	m_DrawerCtrl.SetFolderImage(szPath);
-	_stprintf_s(szPath, _T("%sSkin\\DefaultTheme\\icon\\Find.ico"), Global::g_szCurModuleDir);
-	m_DrawerCtrl.SetSelIcon(szPath);
-
-	m_listImage.Create(40, 40, ILC_MASK | ILC_COLOR32, 1, 1);
-	CBitmap* pBitmap = new CBitmap;
-	CString strHead;
-	for (int i = 1;i <= 134;i++)
-	{
-		strHead.Format("%sSkin\\NEWFACE\\%d.bmp", Global::g_szCurModuleDir, i);
-		pBitmap->m_hObject = (HBITMAP)LoadImage(NULL, strHead, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
-		m_listImage.Add(pBitmap, RGB(255, 255, 255)/*mask color*/);
-	}
-	delete pBitmap;
-
-	//先创建ListCtrl (m_MyFriendListCtrl)
-	if (m_NavListCtrl.Create(LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_OWNERDRAWFIXED | LVS_SHOWSELALWAYS | WS_CHILD,
-		CRect(0, 0, 0, 0), &m_DrawerCtrl, 10001))
-	{
-
-		m_NavListCtrl.SetExtendedStyle(m_NavListCtrl.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
-		m_NavListCtrl.SetImageList(&m_listImage, LVSIL_SMALL);
-		m_NavListCtrl.InsertColumn(0, "名字", LVCFMT_LEFT);
-		//m_MyFriendListCtrl.SetColumnWidth(0 ,100);
-		//往ListCtrl 中添加好友
-		for (int i = 0; i < 150; i++)
-		{
-			CString strTemp = _T("");
-			LUSERITEM userInfo = { 0 };
-			strTemp.Format("季度:%d", i);
-			userInfo.szUserID = strTemp.GetBuffer(strTemp.GetLength());
-			strTemp.ReleaseBuffer();
-			userInfo.szNoticeMsg = _T("RTK2851!");
-			m_NavListCtrl.InsertItem(i, strTemp, i, &userInfo);//第三个参数 Index of the ImageList
-			m_NavListCtrl.SetItemData(i, (i % 2) ? i | CNavListCtrl::TVS_EMAIL : i);
-		}
-	}
-
-	m_DrawerCtrl.AddFolderBar("季度", &m_NavListCtrl, 0);
-	m_DrawerCtrl.SetSelFolder(0);
-#endif
+	InitNavCtrl();
 
 	return 0;
 }
@@ -215,6 +171,82 @@ void CNavbar::AdjustLayout()
 	int cyTlb = m_wndToolBar.CalcFixedLayout(FALSE, TRUE).cy;
 
 	m_wndToolBar.SetWindowPos(nullptr, rectClient.left, rectClient.top, rectClient.Width(), cyTlb, SWP_NOACTIVATE | SWP_NOZORDER);
+	m_DrawerCtrl.SetWindowPos(nullptr, rectClient.left + 1, rectClient.top + cyTlb + 1, rectClient.Width() - 2, rectClient.Height() - cyTlb - 2, SWP_NOACTIVATE | SWP_NOZORDER);
+}
+
+void CNavbar::InitNavCtrl()
+{
+	TCHAR szPath[MAX_PATH] = { 0 };
+	m_DrawerCtrl.Create(WS_VISIBLE | WS_CHILD, CRect(0, 23, 320, 500), this, 10000);
+	_stprintf_s(szPath, _T("%sSkin\\DefaultTheme\\Bar.bmp"), Global::g_szCurModuleDir);
+	m_DrawerCtrl.SetFolderImage(szPath);
+	_stprintf_s(szPath, _T("%sSkin\\DefaultTheme\\icon\\Find.ico"), Global::g_szCurModuleDir);
+	m_DrawerCtrl.SetSelIcon(szPath);
+
+	m_listImage.Create(40, 40, ILC_MASK | ILC_COLOR32, 1, 1);
+	CBitmap* pBitmap = new CBitmap;
+	CString strHead;
+	for (int i = 1;i <= 134;i++)
+	{
+		strHead.Format("%sSkin\\NEWFACE\\%d.bmp", Global::g_szCurModuleDir, i);
+		pBitmap->m_hObject = (HBITMAP)LoadImage(NULL, strHead, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
+		m_listImage.Add(pBitmap, RGB(255, 255, 255)/*mask color*/);
+	}
+	delete pBitmap;
+
+	//先创建ListCtrl (m_MyFriendListCtrl)
+	if (m_NavQuarter.Create(LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_OWNERDRAWFIXED | LVS_SHOWSELALWAYS | WS_CHILD,
+		CRect(0, 0, 0, 0), &m_DrawerCtrl, 10001))
+	{
+
+		m_NavQuarter.SetExtendedStyle(m_NavQuarter.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
+		m_NavQuarter.SetImageList(&m_listImage, LVSIL_SMALL);
+		m_NavQuarter.InsertColumn(0, "名字", LVCFMT_LEFT);
+		//m_NavQuarter.SetColumnWidth(0 ,100);
+		//往ListCtrl 中添加好友
+		for (int i = 0; i < 100; i++)
+		{
+			CString strTemp = _T("");
+			LUSERITEM userInfo = { 0 };
+			strTemp.Format("季度:%d", i);
+			userInfo.szUserID = strTemp.GetBuffer(strTemp.GetLength());
+			strTemp.ReleaseBuffer();
+			userInfo.szNoticeMsg = _T("RTK2851!");
+			m_NavQuarter.InsertItem(i, strTemp, i, &userInfo);//第三个参数 Index of the ImageList
+			m_NavQuarter.SetItemData(i, (i % 2) ? i | CNavListCtrl::TVS_EMAIL : i);
+		}
+	}
+
+	if (m_NavOthers.Create(LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_OWNERDRAWFIXED | LVS_SHOWSELALWAYS | WS_CHILD,
+		CRect(0, 0, 0, 0), &m_DrawerCtrl, 10001))
+	{
+
+		m_NavOthers.SetExtendedStyle(m_NavOthers.GetExtendedStyle() | LVS_EX_FULLROWSELECT);
+		m_NavOthers.SetImageList(&m_listImage, LVSIL_SMALL);
+		m_NavOthers.InsertColumn(0, "名字", LVCFMT_LEFT);
+		//m_NavOthers.SetColumnWidth(0 ,100);
+		
+		CString strTemp = _T("");
+		LUSERITEM userInfo = { 0 };
+		userInfo.szUserID = strTemp.GetBuffer(strTemp.GetLength());
+		strTemp.ReleaseBuffer();
+		userInfo.szNoticeMsg = _T("RTK2851!");
+		m_NavOthers.InsertItem(0, _T("品牌"), 0, &userInfo);//第三个参数 Index of the ImageList
+		m_NavOthers.SetItemData(0, CNavListCtrl::TVS_EMAIL);
+
+		m_NavOthers.InsertItem(1, _T("分支"), 1, &userInfo);//第三个参数 Index of the ImageList
+		m_NavOthers.SetItemData(1, CNavListCtrl::TVS_EMAIL);
+
+		m_NavOthers.InsertItem(2, _T("机芯"), 2, &userInfo);//第三个参数 Index of the ImageList
+		m_NavOthers.SetItemData(2, CNavListCtrl::TVS_EMAIL);
+
+		m_NavOthers.InsertItem(3, _T("日志"), 3, &userInfo);//第三个参数 Index of the ImageList
+		m_NavOthers.SetItemData(3, CNavListCtrl::TVS_EMAIL);
+	}
+
+	m_DrawerCtrl.AddFolderBar(_T("季度"), &m_NavQuarter, 0);
+	m_DrawerCtrl.AddFolderBar(_T("其他"), &m_NavOthers, 0);// 品牌\分支\日志
+	m_DrawerCtrl.SetSelFolder(0);
 }
 
 BOOL CNavbar::PreTranslateMessage(MSG* pMsg)

+ 3 - 2
CTSManager/CTSManager/Navbar.h

@@ -33,9 +33,10 @@ protected:
 #if 1
 	CImageList		m_listImage;
 	CDrawerCtrl		m_DrawerCtrl;
-	CNavListCtrl    m_NavListCtrl;
+	CNavListCtrl    m_NavQuarter;
+	CNavListCtrl    m_NavOthers;
+	void InitNavCtrl();
 #endif
-	void FillClassView();
 
 	// 重写
 public: