MainClient.cpp
上传用户:hbytzg
上传日期:2007-01-02
资源大小:47k
文件大小:2k
源码类别:

midi

开发平台:

Visual C++

  1. // MainClient.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "SwitchTB.h"
  5. #include "MainClient.h"
  6. #include "MainFrm.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CMainClient
  14. CMainClient::CMainClient()
  15. {
  16. m_nChilds = 0;
  17. }
  18. CMainClient::~CMainClient()
  19. {
  20. }
  21. BEGIN_MESSAGE_MAP(CMainClient, CWnd)
  22. //{{AFX_MSG_MAP(CMainClient)
  23. ON_WM_PARENTNOTIFY()
  24. //}}AFX_MSG_MAP
  25. END_MESSAGE_MAP()
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CMainClient message handlers
  28. LRESULT CMainClient::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
  29. {
  30. /***************************************************************
  31. | This function calls the main frame window to switch toolbars |
  32. | when a new MDI menu is set. |
  33. ***************************************************************/
  34. LRESULT lRet = CWnd::DefWindowProc(message, wParam, lParam);
  35. if (message == WM_MDISETMENU) {
  36. CMainFrame *pFrame;
  37. pFrame = (CMainFrame *) AfxGetMainWnd ();
  38. if (::IsWindow (pFrame))
  39. pFrame->SwitchToolbar ();
  40. }
  41. return (lRet);
  42. }
  43. void CMainClient::OnParentNotify(UINT message, LPARAM lParam) 
  44. {
  45. /***************************************************************
  46. | This function calls the main frame window to switch toolbars |
  47. | when a all the MDI child windows are closed. |
  48. ***************************************************************/
  49. CWnd::OnParentNotify(message, lParam);
  50. CMainFrame *pFrame;
  51. CWnd *pWnd;
  52. pWnd = AfxGetMainWnd ();
  53. if (pWnd->IsKindOf (RUNTIME_CLASS (CMainFrame)))
  54. pFrame = (CMainFrame *) AfxGetMainWnd ();
  55. else
  56. return; // don't crash the application, just leave
  57. switch (LOWORD (message)) {
  58. case WM_CREATE:
  59. m_nChilds++;
  60. break;
  61. case WM_DESTROY:
  62. m_nChilds--;
  63. if (m_nChilds == 0)
  64. pFrame->SwitchToolbar ();
  65. break;
  66. default:
  67. break;
  68. }
  69. }