GuiBarOffice.cpp
上传用户:wlkj888
上传日期:2022-08-01
资源大小:806k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "guibaroffice.h"
  3. #include "resource.h"
  4. CGuiBarOffice::CGuiBarOffice(void)
  5. {
  6. }
  7. CGuiBarOffice::~CGuiBarOffice(void)
  8. {
  9. }
  10. #define ID_DOC 992
  11. #define ID_DOCBLAN 994
  12. #define ID_DOCWEB  995
  13. BEGIN_MESSAGE_MAP(CGuiBarOffice, CGuiControlBar)
  14. //{{AFX_MSG_MAP(CMyBar)
  15. ON_WM_CREATE()
  16. ON_COMMAND(ID_DOC,OnOpenDoc)
  17. ON_COMMAND(ID_DOCBLAN,OnNuevoDoc)
  18. ON_COMMAND(ID_DOCWEB,OnNuevoWeb)
  19. //}}AFX_MSG_MAP
  20. ON_WM_WINDOWPOSCHANGED()
  21. ON_WM_SIZE()
  22. ON_WM_TIMER()
  23. END_MESSAGE_MAP()
  24. void CGuiBarOffice::OnMenu()
  25. {
  26. AfxMessageBox("Menu");
  27. }
  28. void CGuiBarOffice::OnBack()
  29. {
  30. m_wndPanel.ShowWindow(SW_HIDE);
  31. m_ctClassView.ShowWindow(SW_SHOW);
  32. // ShowTitle("Lista de Colecciones");
  33. }
  34. void CGuiBarOffice::OnForWard()
  35. {
  36. m_ctClassView.ShowWindow(SW_HIDE);
  37. m_wndPanel.ShowWindow(SW_SHOW);
  38. // ShowTitle("Nuevo Documento");
  39. }
  40. void CGuiBarOffice::OnOpenDoc()
  41. {
  42. }
  43. void CGuiBarOffice::OnNuevoDoc()
  44. {
  45. //GetParentFrame()->SendMessage(ID_FILE_NEW);
  46. }
  47. void CGuiBarOffice::OnNuevoWeb(){}
  48. int CGuiBarOffice::OnCreate(LPCREATESTRUCT lpCreateStruct) 
  49. {
  50. if (CGuiControlBar::OnCreate(lpCreateStruct) == -1)
  51. return -1;
  52. SetSupporMultiView();
  53. const DWORD dwStyle =WS_CHILD | WS_VISIBLE;
  54. //m_ArrButtons[0].SetEnabled(FALSE);
  55. //m_ArrButtons[1].SetEnabled(FALSE);
  56. //Usted puede tener multiples ventanas hijas
  57. //y controlarlas con SW_HIDE y SW_SHOW
  58. if (!m_wndPanel.Create(dwStyle,CRect(0,0,0,0),this,9992))
  59. return -1;
  60. if (!m_ctClassView.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,124))
  61. return -1;
  62. m_TreeGaleria=(CTreeCtrl* )m_ctClassView.AddComponen(RUNTIME_CLASS(CTreeCtrl),3, TVS_HASLINES | 
  63. TVS_LINESATROOT | TVS_HASBUTTONS );
  64. m_ctClassView.ShowWindow(SW_HIDE);
  65. m_ctClassView.ShowWindow(SW_HIDE);
  66. m_wndPanel.SetImageList(IDB_FILEVIEW,16, 0, RGB (255, 0, 0));
  67. m_wndPanel.Addlabel(991,&m_ArrLabels[0]);
  68. m_ArrLabels[0].SetCaption("Abrir un nuevo Documento");
  69. m_wndPanel.AddImageLink(992,0,&m_ArrLinks[0]);
  70. m_ArrLinks[0].SetCaption("Documentos...");
  71. m_wndPanel.Addlabel(993,&m_ArrLabels[1]);
  72. m_ArrLabels[1].SetCaption("Nuevo");
  73. m_wndPanel.AddImageLink(ID_FILE_NEW,1,&m_ArrLinks[1]);
  74. m_ArrLinks[1].SetCaption("Documento en blanco");
  75. m_wndPanel.AddImageLink(995,2,&m_ArrLinks[2]);
  76. m_ArrLinks[2].SetCaption("Pagina Web en blanco");
  77. m_wndPanel.AddImageLink(996,0,&m_ArrLinks[3]);
  78. m_ArrLinks[3].SetCaption("Mensaje de correo electronico");
  79. m_wndPanel.Addlabel(997,&m_ArrLabels[2]);
  80. m_ArrLabels[2].SetCaption("Nuevo a partir de un documento existente");
  81. m_wndPanel.AddImageLink(998,1,&m_ArrLinks[4]);
  82. m_ArrLinks[4].SetCaption("Elegir documento");
  83. m_wndPanel.AddImageLink(999,-1,&m_ArrLinks[5]);
  84. m_ArrLinks[5].SetCaption("Mi nuevo documento 1");
  85. m_ArrLinks[5].AjustRightText(16);
  86. m_wndPanel.AddImageLink(998,-1,&m_ArrLinks[6]);
  87. m_ArrLinks[6].SetCaption("Mi nuevo documento 2");
  88. m_ArrLinks[6].AjustRightText(16);
  89. m_wndPanel.AddImageLink(998,-1,&m_ArrLinks[7]);
  90. m_ArrLinks[7].SetCaption("Mi nuevo documento 3");
  91. m_ArrLinks[7].AjustRightText(16);
  92. // ShowTitle("Nuevo Documento");
  93. return 0;
  94. }
  95. void CGuiBarOffice::OnWindowPosChanged(WINDOWPOS* lpwndpos)
  96. {
  97. UpdateChilds();
  98. CGuiControlBar::OnWindowPosChanged(lpwndpos);
  99. // TODO: Add your message handler code here
  100. }
  101. void CGuiBarOffice::UpdateChilds()
  102. {
  103. CRect rc;
  104. GetClientRect(rc);
  105. CWnd* pWnd = GetWindow(GW_CHILD);
  106. while (pWnd != NULL)
  107.     {
  108.         if (pWnd->IsWindowVisible())
  109. {
  110. pWnd->MoveWindow(rc);
  111. break;
  112. }
  113.             pWnd=pWnd->GetWindow(GW_HWNDNEXT);
  114. }
  115. }
  116. void CGuiBarOffice::OnSize(UINT nType, int cx, int cy)
  117. {
  118. UpdateChilds();
  119. CGuiControlBar::OnSize(nType, cx, cy);
  120. //nunca utilice el timer 1 porque es utilizado por la ventana padre
  121. //para manejar los botones de control
  122. SetTimer(100,100,NULL);
  123. // TODO: Add your message handler code here
  124. }
  125. void CGuiBarOffice::OnTimer(UINT nIDEvent)
  126. {
  127. // TODO: Add your message handler code here and/or call default
  128. KillTimer(100);
  129. UpdateChilds();
  130. CGuiControlBar::OnTimer(nIDEvent);
  131. }