Mine.cpp
上传用户:hbrsgg1
上传日期:2014-05-08
资源大小:2826k
文件大小:2k
源码类别:

其他智力游戏

开发平台:

C/C++

  1. #include "stdafx.h"
  2. #include "Mine.h"
  3. #include "MineDefs.h"
  4. #ifdef _DEBUG
  5. #define new DEBUG_NEW
  6. #undef THIS_FILE
  7. static char THIS_FILE[] = __FILE__;
  8. #endif
  9. /////////////////////////////////////////////////////////////////////////////
  10. BEGIN_MESSAGE_MAP(CMineApp, CWinApp)
  11. //{{AFX_MSG_MAP(CMineApp)
  12. //}}AFX_MSG
  13. END_MESSAGE_MAP()
  14. /////////////////////////////////////////////////////////////////////////////
  15. CMineApp::CMineApp()
  16. {
  17. }
  18. /////////////////////////////////////////////////////////////////////////////
  19. CMineApp theApp;
  20. const CString className = _T("MineClass");
  21. /////////////////////////////////////////////////////////////////////////////
  22. BOOL CMineApp::InitInstance()
  23. {
  24. SetRegistryKey("CSER_513_2");
  25. m_uXMineNum = GetProfileInt(GAME_SETTING, CUSTOM_XNUM, PRIMARY_XNUM);
  26. m_uYMineNum = GetProfileInt(GAME_SETTING, CUSTOM_YNUM, PRIMARY_YNUM);
  27. //定义并注册MineWnd窗口
  28. m_pMineWnd = new CMineWnd();
  29. WNDCLASS wc;
  30. ZeroMemory(&wc, sizeof(wc));
  31. wc.hInstance = AfxGetInstanceHandle();
  32. wc.lpfnWndProc = ::DefWindowProc;
  33. wc.hbrBackground = NULL;
  34. wc.hCursor = LoadCursor(IDC_ARROW);
  35. wc.hIcon = LoadIcon(IDR_MAINFRAME);
  36. wc.lpszClassName = className;
  37. wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU);
  38. // register the minewnd class
  39. //注册窗口
  40. if (!AfxRegisterClass(&wc)) 
  41. {
  42. AfxMessageBox("注册类失败!");
  43. return FALSE;
  44. }
  45. // get the minewnd coordinates, width and height
  46. UINT uWidth = DEFAULT_FRAME_X + m_uXMineNum * MINE_WIDTH +
  47. LINE_WIDTH_0 * 3 + SIDE_WIDTH_0 + SIDE_WIDTH_1;
  48. UINT uHeight = DEFAULT_FRAME_Y + m_uYMineNum * MINE_HEIGHT + 
  49. LINE_WIDTH_0 * 3 + SIDE_WIDTH_0 * 2 + SIDE_WIDTH_1 + SHELL_S_H;
  50. UINT uXPos = GetSystemMetrics(SM_CXSCREEN) / 2 - uWidth / 2;
  51. UINT uYPos = GetSystemMetrics(SM_CYSCREEN) / 2 - uHeight / 2;
  52. //创建窗口
  53. if ( !m_pMineWnd->CreateEx( NULL, className, _T("扫雷"), 
  54. WS_SYSMENU | WS_CAPTION | WS_MINIMIZEBOX, 
  55. uXPos, uYPos, uWidth, uHeight,
  56. NULL, NULL) ) 
  57. {
  58. AfxMessageBox("创建主窗口失败!");
  59. return FALSE;
  60. }
  61. // 绑定该窗口为主窗口
  62. m_pMainWnd = m_pMineWnd;
  63. //显示窗口
  64. m_pMineWnd->ShowWindow(SW_NORMAL);
  65. return TRUE;
  66. }
  67. int CMineApp::ExitInstance() 
  68. {
  69. delete m_pMineWnd;
  70. return CWinApp::ExitInstance();
  71. }