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

其他智力游戏

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.     skyblue_BoxMan.cpp
  5. Abstract:
  6. BoxMan Game '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 "skyblue_BoxMan.h"
  14. #include "BoxManWnd.h"
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CSkyblue_BoxManApp
  22. BEGIN_MESSAGE_MAP(CSkyblue_BoxManApp, CWinApp)
  23. //{{AFX_MSG_MAP(CSkyblue_BoxManApp)
  24. //}}AFX_MSG_MAP
  25. // Standard file based document commands
  26. ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
  27. ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
  28. // Standard print setup command
  29. ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
  30. END_MESSAGE_MAP()
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CSkyblue_BoxManApp construction
  33. CSkyblue_BoxManApp::CSkyblue_BoxManApp()
  34. {
  35. // TODO: add construction code here,
  36. // Place all significant initialization in InitInstance
  37. }
  38. /////////////////////////////////////////////////////////////////////////////
  39. // The one and only CSkyblue_BoxManApp object
  40. CSkyblue_BoxManApp theApp;
  41. const CString className = _T("skyblue_boxman_class");
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CSkyblue_BoxManApp initialization
  44. BOOL CSkyblue_BoxManApp::InitInstance()
  45. {
  46. // 定义和注册窗口
  47. m_pBoxManWnd = new CBoxManWnd();
  48. WNDCLASS wc;
  49. ZeroMemory(&wc, sizeof(wc));
  50. wc.hInstance = AfxGetInstanceHandle();
  51. wc.lpfnWndProc = ::DefWindowProc;
  52. wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
  53. wc.hCursor = LoadCursor(IDC_ARROW);
  54. wc.hIcon = LoadIcon(IDR_MAINFRAME);
  55. wc.lpszClassName = className;
  56. wc.lpszMenuName = MAKEINTRESOURCE(IDR_MAINFRAME);
  57. // register the minewnd class
  58. if (!AfxRegisterClass(&wc)) 
  59. {
  60. AfxMessageBox("注册窗口类失败");
  61. return FALSE;
  62. }
  63. UINT uWidth = 350;
  64. UINT uHeight = 350;
  65. UINT uXPos = GetSystemMetrics(SM_CXSCREEN) / 2 - uWidth / 2;
  66. UINT uYPos = GetSystemMetrics(SM_CYSCREEN) / 2 - uHeight / 2;
  67. //创建,显示窗口
  68. if ( !m_pBoxManWnd->CreateEx( NULL, className, _T("推箱子"), 
  69. WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, 
  70. uXPos, uYPos, uWidth, uHeight,
  71. NULL, NULL) ) 
  72. {
  73. AfxMessageBox("创建主窗口失败!");
  74. return FALSE;
  75. }
  76. m_pBoxManWnd->ShowWindow(SW_NORMAL);
  77. // 绑定窗口为主窗口
  78. m_pMainWnd = m_pBoxManWnd;
  79. return TRUE;
  80. }
  81. /////////////////////////////////////////////////////////////////////////////
  82. // CSkyblue_BoxManApp message handlers