LeftPaneView.cpp
上传用户:weimei12
上传日期:2022-08-11
资源大小:185k
文件大小:2k
源码类别:

Email客户端

开发平台:

Visual C++

  1. // LeftPaneView.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "SimpleMail.h"
  5. #include "LeftPaneView.h"
  6. // CLeftPaneView
  7. IMPLEMENT_DYNCREATE(CLeftPaneView, CFormView)
  8. CLeftPaneView::CLeftPaneView()
  9. : CFormView(CLeftPaneView::IDD)
  10. {
  11. }
  12. CLeftPaneView::~CLeftPaneView()
  13. {
  14. }
  15. void CLeftPaneView::DoDataExchange(CDataExchange* pDX)
  16. {
  17. CFormView::DoDataExchange(pDX);
  18. DDX_Control(pDX, IDC_TREE, m_treeCtrl);
  19. }
  20. BEGIN_MESSAGE_MAP(CLeftPaneView, CFormView)
  21. ON_WM_SIZE()
  22. ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, &CLeftPaneView::OnTvnSelchangedTree)
  23. END_MESSAGE_MAP()
  24. // CLeftPaneView diagnostics
  25. #ifdef _DEBUG
  26. void CLeftPaneView::AssertValid() const
  27. {
  28. CFormView::AssertValid();
  29. }
  30. #ifndef _WIN32_WCE
  31. void CLeftPaneView::Dump(CDumpContext& dc) const
  32. {
  33. CFormView::Dump(dc);
  34. }
  35. #endif
  36. #endif //_DEBUG
  37. // CLeftPaneView message handlers
  38. void CLeftPaneView::OnSize(UINT nType, int cx, int cy)
  39. {
  40. CFormView::OnSize(nType, cx, cy);
  41. // TODO: Add your message handler code here
  42. if (GetSafeHwnd())
  43. {
  44. CRect rect;
  45. GetClientRect(&rect);
  46. if (m_treeCtrl.GetSafeHwnd())
  47. {
  48. m_treeCtrl.MoveWindow(&rect);
  49. }
  50. }
  51. }
  52. void CLeftPaneView::OnInitialUpdate()
  53. {
  54. CFormView::OnInitialUpdate();
  55. // TODO: Add your specialized code here and/or call the base class
  56. m_ImageList.Create(IDB_IMAGES, 16, 1, RGB(255, 0, 255));
  57. m_treeCtrl.SetImageList(&m_ImageList, LVSIL_NORMAL);
  58. HTREEITEM hRoot = m_treeCtrl.InsertItem(m_strRootName, 0, 0);
  59. HTREEITEM hRec = m_treeCtrl.InsertItem(_T("收件箱"), 1, 1, hRoot);
  60. m_treeCtrl.Expand(hRoot, TVE_EXPAND);
  61. m_treeCtrl.SelectItem(hRec);
  62. }
  63. void CLeftPaneView::OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult)
  64. {
  65. LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
  66. // TODO: Add your control notification handler code here
  67. *pResult = 0;
  68. }
  69. void CLeftPaneView::UpdateRootName(const CString& strRootName)
  70. {
  71. m_strRootName = strRootName;
  72. HTREEITEM hRoot = NULL;
  73. hRoot = m_treeCtrl.GetRootItem();
  74. m_treeCtrl.SetItemText(hRoot, m_strRootName);
  75. }