BoxMan_Editer.cpp
上传用户:qiangti
上传日期:2022-04-06
资源大小:644k
文件大小:3k
源码类别:

其他智力游戏

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.     BoxMan_Editer.cpp
  5. Abstract:
  6. program's App Class 
  7. Author:
  8.     Weijian Luo (Arthur Luo)   15-Jun-2005
  9. E-mail: skybluehacker@yahoo.com.cn
  10. Revision History:      1.0
  11. --*/
  12. #include "stdafx.h"
  13. #include "BoxMan_Editer.h"
  14. #include "Boxman_EditerWnd.h"
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20. extern int MAP_WIDTH;               //  20
  21. extern int MAP_HEIGHT;              //  20
  22. extern int MAP_SMALL_SQUARE_SIZE;   //  20
  23. /////////////////////////////////////////////////////////////////////////////
  24. // CBoxMan_EditerApp
  25. BEGIN_MESSAGE_MAP(CBoxMan_EditerApp, CWinApp)
  26. //{{AFX_MSG_MAP(CBoxMan_EditerApp)
  27. // NOTE - the ClassWizard will add and remove mapping macros here.
  28. //    DO NOT EDIT what you see in these blocks of generated code!
  29. //}}AFX_MSG_MAP
  30. // Standard file based document commands
  31. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  32. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  33. END_MESSAGE_MAP()
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CBoxMan_EditerApp construction
  36. CBoxMan_EditerApp::CBoxMan_EditerApp()
  37. {
  38. // TODO: add construction code here,
  39. // Place all significant initialization in InitInstance
  40. }
  41. /////////////////////////////////////////////////////////////////////////////
  42. // The one and only CBoxMan_EditerApp object
  43. CBoxMan_EditerApp theApp;
  44. const CString className = _T("skyblue_boxmanediter_class");
  45. /////////////////////////////////////////////////////////////////////////////
  46. // CBoxMan_EditerApp initialization
  47. BOOL CBoxMan_EditerApp::InitInstance()
  48. {
  49. // 定义和注册窗口
  50. m_pBoxManEditerWnd = new CBoxman_EditerWnd();
  51. WNDCLASS wc;
  52. ZeroMemory(&wc, sizeof(wc));
  53. wc.hInstance = AfxGetInstanceHandle();
  54. wc.lpfnWndProc = ::DefWindowProc;
  55. wc.hbrBackground = NULL;
  56. wc.hCursor = LoadCursor(IDC_ARROW);
  57. wc.hIcon = LoadIcon(IDR_MAINFRAME);
  58. wc.lpszClassName = className;
  59. wc.lpszMenuName = MAKEINTRESOURCE(IDR_MAINFRAME);
  60. // register the minewnd class
  61. if (!AfxRegisterClass(&wc)) 
  62. {
  63. AfxMessageBox("注册窗口类失败");
  64. return FALSE;
  65. }
  66. UINT uWidth = MAP_WIDTH*MAP_SMALL_SQUARE_SIZE+10;//地图区域+左右边框宽度
  67. UINT uHeight = MAP_HEIGHT*MAP_SMALL_SQUARE_SIZE+56;//地图区域+上下边框宽度
  68. UINT uXPos = GetSystemMetrics(SM_CXSCREEN) / 2 - uWidth / 2;
  69. UINT uYPos = GetSystemMetrics(SM_CYSCREEN) / 2 - uHeight / 2;
  70. //创建,显示窗口
  71. if ( !m_pBoxManEditerWnd->CreateEx( NULL, className, _T("推箱子_地图编辑器"), 
  72. WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, 
  73. uXPos, uYPos, uWidth, uHeight,
  74. NULL, NULL) ) 
  75. {
  76. AfxMessageBox("创建主窗口失败!");
  77. return FALSE;
  78. }
  79. m_pBoxManEditerWnd->ShowWindow(SW_NORMAL);
  80. // 绑定窗口为主窗口
  81. m_pMainWnd = m_pBoxManEditerWnd;
  82. return TRUE;
  83. }
  84. /////////////////////////////////////////////////////////////////////////////
  85. // CBoxMan_EditerApp message handlers