Cromon

StaticMethods.cs

Oct 9th, 2012
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.24 KB | None | 0 0
  1.         private static int WndProc(IntPtr wnd, WM uMsg, IntPtr wParam, IntPtr lParam)
  2.         {
  3.             Console.WriteLine(uMsg + " - " + wParam.ToInt32() + " - " + lParam.ToInt32());
  4.             LastMessageHandled = false;
  5.             try
  6.             {
  7.                 switch (uMsg)
  8.                 {
  9.                     case WM.MOUSEMOVE:
  10.                         {
  11.                             if (MouseMove != null)
  12.                                 MouseMove(LOWORD(lParam), HIWORD(lParam));
  13.                         }
  14.                         break;
  15.  
  16.                     case WM.LBUTTONDOWN:
  17.                         {
  18.                             if (LeftButtonDown != null)
  19.                                 LeftButtonDown(LOWORD(lParam), HIWORD(lParam));
  20.                         }
  21.                         break;
  22.  
  23.                     case WM.LBUTTONUP:
  24.                         {
  25.                             if (LeftButtonUp != null)
  26.                                 LeftButtonUp(LOWORD(lParam), HIWORD(lParam));
  27.                         }
  28.                         break;
  29.  
  30.                     case WM.MOUSEWHEEL:
  31.                         {
  32.                             System.Drawing.Point pt = new Point(LOWORD(lParam), HIWORD(lParam));
  33.                             ScreenToClient(gWoWWindow, ref pt);
  34.                             if (MouseWheel != null)
  35.                                 MouseWheel(pt.X, pt.Y, HIWORD(wParam));
  36.                         }
  37.                         break;
  38.  
  39.                     case WM.CHAR:
  40.                         {
  41.                             if (CharPressed != null)
  42.                                 CharPressed((char)(wParam.ToInt32()));
  43.                         }
  44.                         break;
  45.                 }
  46.             }
  47.             catch (Exception e)
  48.             {
  49.                 MessageBox.Show(e.ToString());
  50.             }
  51.  
  52.             if (LastMessageHandled == true)
  53.             {
  54.                 LastMessageHandled = false;
  55.                 return DefWindowProc(wnd, uMsg, wParam, lParam);
  56.             }
  57.  
  58.             if (gOldWndProc != IntPtr.Zero)
  59.                 return CallWindowProc(gOldWndProc, wnd, uMsg, wParam, lParam);
  60.  
  61.             return DefWindowProc(wnd, uMsg, wParam, lParam);
  62.         }
Advertisement
Add Comment
Please, Sign In to add comment