Browse Source

+ added the win16api mouse input support functions

git-svn-id: trunk@31784 -
nickysn 10 years ago
parent
commit
26fc460010
3 changed files with 71 additions and 0 deletions
  1. 5 0
      rtl/win16/win31.pp
  2. 8 0
      rtl/win16/winprocsh.inc
  3. 58 0
      rtl/win16/wintypes.inc

+ 5 - 0
rtl/win16/win31.pp

@@ -594,6 +594,11 @@ type
   end;
   TNCCalcSize_Params = NCCALCSIZE_PARAMS;
 
+{ Mouse input support }
+  const
+{ WM_MOUSEACTIVATE return codes }
+  MA_NOACTIVATEANDEAT = 4;
+
 function GetFreeSystemResources(SysResource: UINT): UINT; external 'USER';
 
 procedure LogError(err: UINT; lpInfo: FarPointer); external 'KERNEL';

+ 8 - 0
rtl/win16/winprocsh.inc

@@ -994,3 +994,11 @@ procedure SetKeyboardState(lpbKeyState: LPBYTE); external 'USER';
 procedure GetKeyboardState(var bKeyState: TKeyboardState); external 'USER';
 procedure SetKeyboardState(var bKeyState: TKeyboardState); external 'USER';
 {$endif}
+
+{ Mouse input support }
+
+function SetCapture(hwnd: HWND): HWND; external 'USER';
+procedure ReleaseCapture; external 'USER';
+function GetCapture: HWND; external 'USER';
+
+function SwapMouseButton(fSwap: BOOL): BOOL; external 'USER';

+ 58 - 0
rtl/win16/wintypes.inc

@@ -1847,3 +1847,61 @@ const
 
 { SetWindowsHook() keyboard hook }
   WH_KEYBOARD    = 2;
+
+{ Mouse input support }
+{ Mouse input messages }
+  WM_MOUSEMOVE       = $0200;
+  WM_LBUTTONDOWN     = $0201;
+  WM_LBUTTONUP       = $0202;
+  WM_LBUTTONDBLCLK   = $0203;
+  WM_RBUTTONDOWN     = $0204;
+  WM_RBUTTONUP       = $0205;
+  WM_RBUTTONDBLCLK   = $0206;
+  WM_MBUTTONDOWN     = $0207;
+  WM_MBUTTONUP       = $0208;
+  WM_MBUTTONDBLCLK   = $0209;
+
+{ Mouse input message range }
+  WM_MOUSEFIRST      = $0200;
+  WM_MOUSELAST       = $0209;
+
+{ Mouse message wParam key states }
+  MK_LBUTTON         = $0001;
+  MK_RBUTTON         = $0002;
+  MK_SHIFT           = $0004;
+  MK_CONTROL         = $0008;
+  MK_MBUTTON         = $0010;
+
+{ Non-client mouse messages }
+  WM_NCMOUSEMOVE     = $00A0;
+  WM_NCLBUTTONDOWN   = $00A1;
+  WM_NCLBUTTONUP     = $00A2;
+  WM_NCLBUTTONDBLCLK = $00A3;
+  WM_NCRBUTTONDOWN   = $00A4;
+  WM_NCRBUTTONUP     = $00A5;
+  WM_NCRBUTTONDBLCLK = $00A6;
+  WM_NCMBUTTONDOWN   = $00A7;
+  WM_NCMBUTTONUP     = $00A8;
+  WM_NCMBUTTONDBLCLK = $00A9;
+
+{ Mouse click activation support }
+  WM_MOUSEACTIVATE   = $0021;
+
+{ WM_MOUSEACTIVATE return codes }
+  MA_ACTIVATE        = 1;
+  MA_ACTIVATEANDEAT  = 2;
+  MA_NOACTIVATE      = 3;
+
+{ SetWindowsHook() mouse hook }
+  WH_MOUSE           = 7;
+
+type
+  PMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT;
+  LPMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT; far;
+  MOUSEHOOKSTRUCT = record
+    pt: POINT;
+    hwnd: HWND;
+    wHitTestCode: UINT;
+    dwExtraInfo: DWORD;
+  end;
+  TMouseHookStruct = MOUSEHOOKSTRUCT;