home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / wint1_92 / shaw / winapp.cpp < prev    next >
C/C++ Source or Header  |  1991-11-04  |  2KB  |  58 lines

  1. // winapp.cpp
  2. #include<windows.h>
  3. #include"winapp.h"
  4.  
  5. HANDLE WinApplication::ApphInstance;
  6. HANDLE WinApplication::hPrevInstance;
  7. LPSTR WinApplication::lpszCmdLine;
  8. int WinApplication::nCmdShow;
  9.  
  10. int WinApplication::Run(void)    // default message loop processing
  11.     {
  12.     MSG msg;
  13.  
  14.     while(GetMessage(&msg, NULL, 0, 0))
  15.         {
  16.         TranslateMessage(&msg);
  17.         DispatchMessage(&msg);
  18.         }
  19.     return msg.wParam;
  20.     }
  21.  
  22. static void *pWindow = NULL;
  23.  
  24. long far pascal Window::WndProc(HWND hWnd, WORD msg, WORD wParam, 
  25.     LONG lParam)
  26.     {
  27.     pWindow = (void *)GetPointer(hWnd);
  28.  
  29.     if(msg == WM_CREATE)
  30.         {
  31.         pWindow = (void *)((LPCREATESTRUCT)lParam)->lpCreateParams;
  32.  
  33.         SetPointer(hWnd, pWindow);
  34.         ((Window *)pWindow)->WHandle = hWnd;
  35.         }
  36.     if(pWindow && ((Window *)pWindow)->UserWndProc)
  37.         return ((Window *)pWindow)->UserWndProc(hWnd, msg, wParam, lParam);
  38.     return DefWindowProc(hWnd, msg, wParam, lParam);
  39.     }
  40.  
  41. long far pascal Window::MDIChildWndProc(HWND hWnd, WORD msg, WORD wParam, 
  42.     LONG lParam)
  43.     {
  44.     pWindow = (void *)GetPointer(hWnd);
  45.  
  46.     if(msg == WM_CREATE)
  47.         {
  48.         pWindow = (void *)((LPMDICREATESTRUCT)
  49.             ((LPCREATESTRUCT)lParam)->lpCreateParams)->lParam;
  50.  
  51.         SetPointer(hWnd, pWindow);
  52.         ((Window *)pWindow)->WHandle = hWnd;
  53.         }
  54.     if(pWindow && ((Window *)pWindow)->UserWndProc)
  55.         return ((Window *)pWindow)->UserWndProc(hWnd, msg, wParam, lParam);
  56.     return DefMDIChildProc(hWnd, msg, wParam, lParam);
  57.     }
  58.