WHWindow.cpp
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:8k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. /******************************************************************************************************************
  2.                                                                                                                    
  3. 葛碘疙:
  4. 累己磊:
  5. 累己老:
  6. [老磊][荐沥磊] : 荐沥 郴侩
  7.                                                                                                                    
  8. *******************************************************************************************************************/
  9. #include "stdafx.h"
  10. #include "WHEngine.h"
  11. static CWHApp* g_pWHApp = NULL;
  12. /******************************************************************************************************************
  13. CWHApp Functions.
  14. *******************************************************************************************************************/
  15. /******************************************************************************************************************
  16. 窃荐疙 : CWHApp::CWHApp()
  17. 累己磊 : 
  18. 累己老 : 
  19. 格利   : 
  20. 免仿   : 
  21. [老磊][荐沥磊] : 荐沥郴侩
  22. *******************************************************************************************************************/
  23. CWHApp::CWHApp()
  24. {
  25. g_pWHApp = this;
  26. m_hInstance = NULL;
  27. }
  28. /******************************************************************************************************************
  29. 窃荐疙 : CWHApp::~CWHApp()
  30. 累己磊 : 
  31. 累己老 : 
  32. 格利   : 
  33. 免仿   : 
  34. [老磊][荐沥磊] : 荐沥郴侩
  35. *******************************************************************************************************************/
  36. CWHApp::~CWHApp()
  37. {
  38. }
  39. /******************************************************************************************************************
  40. 窃荐疙 : CWHApp::MainWndProc()
  41. 累己磊 : 
  42. 累己老 : 
  43. 格利   : 
  44. 涝仿   : HWND hWnd
  45.          UINT uMsg
  46.          WPARAM wParam
  47.          LPARAM lParam
  48. 免仿   : LRESULT 
  49. [老磊][荐沥磊] : 荐沥郴侩
  50. *******************************************************************************************************************/
  51. LRESULT CWHApp::MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
  52. {
  53.     return DefWindowProc(hWnd, uMsg, wParam, lParam);
  54. }
  55. /******************************************************************************************************************
  56. 窃荐疙 : WndProc()
  57. 累己磊 : 
  58. 累己老 : 
  59. 格利   : 
  60. 涝仿   : HWND hWnd
  61.          UINT uMsg
  62.          WPARAM wParam
  63.          LPARAM lParam
  64. 免仿   : LRESULT CALLBACK 
  65. [老磊][荐沥磊] : 荐沥郴侩
  66. *******************************************************************************************************************/
  67. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
  68. {
  69.     return g_pWHApp->MainWndProc(hWnd, uMsg, wParam, lParam);
  70. }
  71. /******************************************************************************************************************
  72. CWHWindow Functions.
  73. *******************************************************************************************************************/
  74. /******************************************************************************************************************
  75. 窃荐疙 : CWHWindow::CWHWindow()
  76. 累己磊 : 
  77. 累己老 : 
  78. 格利   : 
  79. 免仿   : 
  80. [老磊][荐沥磊] : 荐沥郴侩
  81. *******************************************************************************************************************/
  82. CWHWindow::CWHWindow()
  83. {
  84. m_hWnd = NULL;
  85. }
  86. /******************************************************************************************************************
  87. 窃荐疙 : CWHWindow::~CWHWindow()
  88. 累己磊 : 
  89. 累己老 : 
  90. 格利   : 
  91. 免仿   : 
  92. [老磊][荐沥磊] : 荐沥郴侩
  93. *******************************************************************************************************************/
  94. CWHWindow::~CWHWindow()
  95. {
  96. }
  97. /******************************************************************************************************************
  98. 窃荐疙 : CWHWindow::RegisterClass()
  99. 累己磊 : 
  100. 累己老 : 
  101. 格利   : 
  102. 涝仿   : CHAR *pszMenuName
  103. 免仿   : BOOL 
  104. [老磊][荐沥磊] : 荐沥郴侩
  105. *******************************************************************************************************************/
  106. BOOL CWHWindow::RegisterClass(CHAR* pszMenuName, CHAR* pszIconName)
  107. {
  108.     WNDCLASSEX wc;
  109.     wc.cbSize = sizeof(wc);
  110.     wc.lpszClassName = _WINDHORN_CLASS;
  111.     wc.lpfnWndProc = WndProc;
  112.     wc.style = CS_VREDRAW | CS_HREDRAW | CS_DBLCLKS;
  113.     wc.hInstance = m_hInstance;
  114.     wc.hIcon = LoadIcon(m_hInstance, pszIconName);
  115.     wc.hIconSm = LoadIcon(m_hInstance, pszIconName);
  116.     wc.hCursor = LoadCursor(m_hInstance, IDC_ARROW);
  117.     wc.hbrBackground = (HBRUSH)(GRAY_BRUSH);//(COLOR_WINDOW + 1);
  118.     wc.lpszMenuName = pszMenuName;
  119.     wc.cbClsExtra = 0;
  120.     wc.cbWndExtra = 0;
  121.     if ( RegisterClassEx(&wc) == 0 )
  122. {
  123.         return FALSE;
  124. }
  125. return TRUE;
  126. }
  127. /******************************************************************************************************************
  128. 窃荐疙 : CWHWindow::Create()
  129. 累己磊 : 
  130. 累己老 : 
  131. 格利   : 
  132. 涝仿   : LPTSTR lpCaption
  133.          CHAR *pszMenuName
  134. 免仿   : BOOL 
  135. [老磊][荐沥磊] : 荐沥郴侩
  136. *******************************************************************************************************************/
  137. BOOL CWHWindow::Create(HINSTANCE hInst, LPTSTR lpCaption, CHAR *pszMenuName, CHAR* pszIconName)
  138. {
  139. SethInstance(hInst);
  140. if ( !RegisterClass(pszMenuName, pszIconName) ) 
  141. {
  142. MessageBox(NULL, TEXT("[CWHWindow::Create]") TEXT("Register class failed."), "MirDXG", MB_ICONERROR | MB_OK);
  143. return FALSE;
  144. }
  145.     DWORD dwFrameWidth    = GetSystemMetrics(SM_CXSIZEFRAME);
  146.     DWORD dwFrameHeight   = GetSystemMetrics(SM_CYSIZEFRAME);
  147. DWORD dwMenuHeight;
  148. if ( pszMenuName != NULL )
  149. dwMenuHeight = GetSystemMetrics(SM_CYMENU);
  150. else
  151. dwMenuHeight = 0;
  152.     DWORD dwCaptionHeight = GetSystemMetrics(SM_CYCAPTION);
  153.     DWORD dwWindowWidth   = _SCREEN_WIDTH  + dwFrameWidth * 2;
  154.     DWORD dwWindowHeight  = _SCREEN_HEIGHT + dwFrameHeight * 2 + dwMenuHeight + dwCaptionHeight;
  155.     DWORD dwStyle = WS_POPUPWINDOW/*WS_OVERLAPPEDWINDOW*/ & ~WS_MAXIMIZEBOX;
  156.     m_hWnd = CreateWindowEx(NULL, _WINDHORN_CLASS, lpCaption,
  157.     dwStyle, CW_USEDEFAULT, CW_USEDEFAULT,
  158.        dwWindowWidth, dwWindowHeight, NULL, NULL, m_hInstance, NULL);
  159. if ( m_hWnd == NULL )
  160.      return FALSE;
  161. //  ShowWindow(m_hWnd, SW_SHOW);
  162. //  UpdateWindow(m_hWnd);
  163. return TRUE;
  164. }
  165. /******************************************************************************************************************
  166. 窃荐疙 : CWHWindow::MainWndProc()
  167. 累己磊 : 
  168. 累己老 : 
  169. 格利   : 
  170. 涝仿   : HWND hWnd
  171.          UINT uMsg
  172.          WPARAM wParam
  173.          LPARAM lParam
  174. 免仿   : LRESULT 
  175. [老磊][荐沥磊] : 荐沥郴侩
  176. *******************************************************************************************************************/
  177. LRESULT CWHWindow::MainWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
  178. {
  179. switch (uMsg)
  180. {
  181. case WM_DESTROY:
  182. return OnDestroy();
  183. }
  184.     return CWHApp::MainWndProc(hWnd, uMsg, wParam, lParam);
  185. }
  186. /******************************************************************************************************************
  187. 窃荐疙 : CWHWindow::OnDestroy()
  188. 累己磊 : 
  189. 累己老 : 
  190. 格利   : 
  191. 免仿   : BOOL 
  192. [老磊][荐沥磊] : 荐沥郴侩
  193. *******************************************************************************************************************/
  194. LRESULT CWHWindow::OnDestroy()
  195. {
  196. PostQuitMessage(NULL);
  197. return 0L;
  198. }