MyDlgBar.cpp
上传用户:icamtech05
上传日期:2020-11-24
资源大小:10883k
文件大小:4k
源码类别:

编辑框

开发平台:

Visual C++

  1. // MyDlgBar.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "MyEditer.h"
  5. #include "MyDlgBar.h"
  6. // CMyDlgBar dialog
  7. IMPLEMENT_DYNAMIC(CMyDlgBar, CDialogBar)
  8. CMyDlgBar::CMyDlgBar()
  9. {
  10. }
  11. CMyDlgBar::~CMyDlgBar()
  12. {
  13. }
  14. //void CMyDlgBar::DoDataExchange(CDataExchange* pDX)
  15. //{
  16. // CDialogBar::DoDataExchange(pDX);
  17. //}
  18. BEGIN_MESSAGE_MAP(CMyDlgBar, CDialogBar)
  19. ON_MESSAGE(WM_INITDIALOG, OnInitDialog)
  20. // ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, &CMyDlgBar::OnTvnSelchangedTree1)
  21. ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, &CMyDlgBar::OnTvnSelchangedTree1)
  22. ON_WM_CREATE()
  23. END_MESSAGE_MAP()
  24. // CMyDlgBar message handlers
  25. LONG CMyDlgBar::OnInitDialog ( UINT wParam, LONG lParam)
  26. {
  27. LRESULT bRet = HandleInitDialog(wParam, lParam);
  28. if (!UpdateData(FALSE))
  29. {
  30. TRACE0("Warning: UpdateData failed during dialog init.n");
  31. }
  32. // TODO:  Add extra initialization here
  33. m_pTreeCtrl->DeleteAllItems();
  34. HTREEITEM root = m_pTreeCtrl->InsertItem(L"VCKBASE",0,0);
  35. HTREEITEM subroot1=m_pTreeCtrl->InsertItem(L"程序员社区",1,1,root);
  36. HTREEITEM subroot2=m_pTreeCtrl->InsertItem(L"文档中心",1,1,root);
  37. HTREEITEM subroot3=m_pTreeCtrl->InsertItem(L"代码仓库",1,1,root);
  38. HTREEITEM subroot4=m_pTreeCtrl->InsertItem(L"工具和资源",1,1,root);
  39. HTREEITEM subroot5=m_pTreeCtrl->InsertItem(L"客服中心",1,1,root);
  40. HTREEITEM subroot6=m_pTreeCtrl->InsertItem(L"个人专栏",1,1,root);
  41. /*
  42. m_pTreeCtrl->SetItemImage(subroot1,1,0);
  43. m_pTreeCtrl->SetItemImage(subroot2,1,0);
  44. m_pTreeCtrl->SetItemImage(subroot3,1,0);
  45. */
  46. m_pTreeCtrl->InsertItem(L"开发论坛",1,1,subroot1);
  47. m_pTreeCtrl->InsertItem(L"开发联盟",1,1,subroot1);
  48. m_pTreeCtrl->InsertItem(L"人才交流",1,1,subroot1);
  49. m_pTreeCtrl->InsertItem(L"用户注册",1,1,subroot1);
  50. m_pTreeCtrl->InsertItem(L"VCity",1,1,subroot1);
  51. m_pTreeCtrl->InsertItem(L"在线杂志",1,1,subroot2);
  52. m_pTreeCtrl->InsertItem(L"个人专辑",1,1,subroot2);
  53. m_pTreeCtrl->InsertItem(L"论坛精华",1,1,subroot2);
  54. m_pTreeCtrl->InsertItem(L"酷库",1,1,subroot2);
  55. m_pTreeCtrl->InsertItem(L"所有文章",1,1,subroot2);
  56. m_pTreeCtrl->InsertItem(L"所有代码",1,1,subroot3);
  57. m_pTreeCtrl->InsertItem(L"程序工具箱",1,1,subroot4);
  58. m_pTreeCtrl->InsertItem(L"程序工具箱",1,1,subroot5);
  59. m_pTreeCtrl->InsertItem(L"用户注册",1,1,subroot5);
  60. m_pTreeCtrl->InsertItem(L"修改信息",1,1,subroot5);
  61. m_pTreeCtrl->InsertItem(L"取回密码",1,1,subroot5);
  62. m_pTreeCtrl->InsertItem(L"问题解答",1,1,subroot5);
  63. m_pTreeCtrl->InsertItem(L"投稿",1,1,subroot5);
  64. m_pTreeCtrl->InsertItem(L"联系我们",1,1,subroot5);
  65. m_pTreeCtrl->SelectItem(root);
  66. m_pTreeCtrl->EnsureVisible(root);
  67. m_pTreeCtrl->DrawMenuBar();
  68. m_pTreeCtrl->BringWindowToTop();
  69. m_pTreeCtrl->Expand(root, TVE_EXPAND);
  70. m_pTreeCtrl->Expand(subroot1, TVE_EXPAND);
  71. m_pTreeCtrl->Expand(subroot2, TVE_EXPAND);
  72. m_pTreeCtrl->Expand(subroot3, TVE_EXPAND);
  73. m_pTreeCtrl->Expand(subroot4, TVE_EXPAND);
  74. m_pTreeCtrl->Expand(subroot5, TVE_EXPAND);
  75. return (long)bRet;  // return TRUE unless you set the focus to a control
  76. // EXCEPTION: OCX Property Pages should return FALSE
  77. }
  78. //void CMyDlgBar::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
  79. //{
  80. // LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
  81. // // TODO: 在此添加控件通知处理程序代码
  82. // *pResult = 0;
  83. //}
  84. void CMyDlgBar::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
  85. {
  86. LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
  87. // TODO: 在此添加控件通知处理程序代码
  88. *pResult = 0;
  89. }
  90. int CMyDlgBar::OnCreate(LPCREATESTRUCT lpCreateStruct)
  91. {
  92. if (CDialogBar::OnCreate(lpCreateStruct) == -1)
  93. return -1;
  94. // TODO:  Add your specialized creation code here
  95. // m_pTreeCtrl = (CMyTree *)this->GetDlgItem(IDC_TREE1);
  96. m_pTreeCtrl = new CMyTree();
  97. m_pTreeCtrl->Create( WS_VISIBLE | WS_CHILD | TVS_HASBUTTONS | TVS_LINESATROOT
  98. | TVS_HASLINES, CRect(0, 0, 300, 1000), this, IDC_TREE1);
  99. // DWORD dwStyle = GetWindowLong(m_pTreeCtrl->m_hWnd,GWL_STYLE);
  100.   //  dwStyle |= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
  101.     //SetWindowLong(m_pTreeCtrl->m_hWnd,GWL_STYLE,dwStyle);
  102. CFont *font = CFont::FromHandle((HFONT)::GetStockObject(DEFAULT_GUI_FONT));
  103. // m_pTreeCtrl->SetFont(font);
  104. // 当前已经没有IDC_TREE1这个资源了,也可以获取么?
  105. GetDlgItem(IDC_TREE1)->SetFont(font);
  106. return 0;
  107. }