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

菜单

开发平台:

Visual C++

  1. // SpawnMDIChildWnd.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ToolbarMenuDemoMDI.h"
  5. #include "SpawnMDIChildWnd.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSpawnMDIChildWnd
  13. IMPLEMENT_DYNCREATE(CSpawnMDIChildWnd, CMDIChildWnd)
  14. CSpawnMDIChildWnd::CSpawnMDIChildWnd()
  15. {
  16. }
  17. CSpawnMDIChildWnd::~CSpawnMDIChildWnd()
  18. {
  19. }
  20. BEGIN_MESSAGE_MAP(CSpawnMDIChildWnd, CMDIChildWnd)
  21. //{{AFX_MSG_MAP(CSpawnMDIChildWnd)
  22. ON_WM_DRAWITEM()
  23. ON_WM_MEASUREITEM()
  24. ON_WM_INITMENUPOPUP()
  25. ON_WM_MENUCHAR()
  26. ON_WM_CREATE()
  27. //}}AFX_MSG_MAP
  28. END_MESSAGE_MAP()
  29. /////////////////////////////////////////////////////////////////////////////
  30. // CSpawnMDIChildWnd message handlers
  31. void CSpawnMDIChildWnd::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) 
  32. {
  33. if (!cSpawn.DrawItem(lpDrawItemStruct))
  34. CMDIChildWnd::OnDrawItem(nIDCtl, lpDrawItemStruct);
  35. }
  36. void CSpawnMDIChildWnd::OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct) 
  37. {
  38. if (!cSpawn.MeasureItem(lpMeasureItemStruct))
  39. CMDIChildWnd::OnMeasureItem(nIDCtl, lpMeasureItemStruct);
  40. }
  41. void CSpawnMDIChildWnd::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) 
  42. {
  43. CMDIChildWnd::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);
  44. cSpawn.RemapMenu(pPopupMenu);
  45. }
  46. LRESULT CSpawnMDIChildWnd::OnMenuChar(UINT nChar, UINT nFlags, CMenu* pMenu) 
  47. {
  48. CMenu* pSysMenu = GetSystemMenu(FALSE);
  49. if (pSysMenu != NULL && pSysMenu->GetSafeHmenu() == pMenu->GetSafeHmenu())
  50. {
  51. LRESULT lRes = 0;
  52. cSpawn.FindKeyboardShortcut(nChar, nFlags, pMenu, lRes);
  53. return lRes;
  54. }
  55. return CMDIChildWnd::OnMenuChar(nChar, nFlags, pMenu);
  56. }
  57. int CSpawnMDIChildWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) 
  58. {
  59. if (CMDIChildWnd::OnCreate(lpCreateStruct) == -1)
  60. return -1;
  61. return 0;
  62. }