1. 程式人生 > 其它 >Delphi WinAPI INPUT_MOUSE - 包含有關模擬滑鼠事件的資訊。

Delphi WinAPI INPUT_MOUSE - 包含有關模擬滑鼠事件的資訊。

Delphi WinAPI INPUT_MOUSE - 包含有關模擬滑鼠事件的資訊。

原型:

typedef struct tagMOUSEINPUT {
  LONG      dx;
  LONG      dy;
  DWORD     mouseData;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

Delphi:

type
  PMouseInput = ^TMouseInput;
  {$EXTERNALSYM tagMOUSEINPUT}
  tagMOUSEINPUT = packed record
    dx: Longint;
    dy: Longint;
    mouseData: DWORD;
    dwFlags: DWORD;
    time: DWORD;
    dwExtraInfo: DWORD;
  end;
  TMouseInput = tagMOUSEINPUT;  

引數:

  • dx(Type: LONG) //滑鼠的絕對位置,或自上次生成滑鼠事件以來的運動量,取決於dwFlags成員的值。絕對資料指定為滑鼠的x座標;相對資料指定為移動的畫素數。
  • dy(Type: LONG) //滑鼠的絕對位置,或自上次生成滑鼠事件以來的運動量,取決於dwFlags成員的值。絕對資料指定為滑鼠的y座標;相對資料指定為移動的畫素數。
  • mouseData(Type: DWORD) //
    • 如果dwFlags包含MOUSEEVENTF_WHEEL,則mouseData指定輪子的移動量。正值表示車輪向前旋轉,遠離使用者;負值表示輪子向後旋轉,朝向使用者。一次車輪咔嗒聲被定義為車輪_DELTA,即120。
    • Windows Vista:如果dwFlags包含MOUSEEVENTF_HWHEEL,則dwData指定輪子的移動量。正值表示車輪向右旋轉;負值表示車輪向左旋轉。一次車輪咔嗒聲被定義為車輪_DELTA,即120。
    • 如果dwFlags不包含MOUSEEVENTF_WHEEL、MOUSEEVENTF_XDOWN或MOUSEEVENTF_XUP,則mouseData應為零。
    • 如果dwFlags包含MOUSEEVENTF_XDOWN或MOUSEEVENTF_XUP,則mouseData指定按下或釋放了哪些X按鈕。此值可以是以下標誌的任意組合。
      • XBUTTON1  0x0001 //設定是否按下或釋放第一個X按鈕。
      • XBUTTON2  0x0002 //設定是否按下或釋放第二個X按鈕。
  • dwFlags(Type: DWORD)time(Type: DWORD) //事件的時間戳,以毫秒為單位。如果此引數為0,系統將提供自己的時間戳。
    • 一組位標誌,用於指定滑鼠移動和按鈕單擊的各個方面。此成員中的位可以是以下值的任何合理組合。
    • 指定滑鼠按鈕狀態的位標誌被設定為指示狀態的更改,而不是正在進行的條件。例如,如果按下並按住滑鼠左鍵,則在第一次按下滑鼠左鍵時會設定MOUSEEVENTF_LEFTDOWN,但不用於後續動作。同樣,MOUSEEVENTF_LEFTUP僅在第一次釋放按鈕時設定。
    • 不能在dwFlags引數中同時指定MOUSEEVENTF_WHEEL標誌和MOUSEEVENTF_XDOWN或MOUSEEVENTF_XUP標誌,因為它們都需要使用mouseData欄位。
      • MOUSEEVENTF_MOVE  //0x0001 Movement occurred.
      • MOUSEEVENTF_LEFTDOWN  //0x0002 The left button was pressed.
      • MOUSEEVENTF_LEFTUP //0x0004 The left button was released.
      • MOUSEEVENTF_RIGHTDOWN //0x0008 The right button was pressed.
      • MOUSEEVENTF_RIGHTUP  //0x0010 The right button was released.
      • MOUSEEVENTF_MIDDLEDOWN //0x0020 The middle button was pressed.
      • MOUSEEVENTF_MIDDLEUP //0x0040 The middle button was released.
      • MOUSEEVENTF_XDOWN //0x0080 An X button was pressed.
      • MOUSEEVENTF_XUP //0x0100 An X button was released.
      • MOUSEEVENTF_WHEEL //0x0800 The wheel was moved, if the mouse has a wheel. The amount of movement is specified in mouseData.
      • MOUSEEVENTF_HWHEEL //0x1000 The wheel was moved horizontally, if the mouse has a wheel. The amount of movement is specified in mouseData.Windows XP/2000: This value is not supported.
      • MOUSEEVENTF_MOVE_NOCOALESCE //0x2000 The WM_MOUSEMOVE messages will not be coalesced. The default behavior is to coalesce WM_MOUSEMOVE messages.Windows XP/2000: This value is not supported.
      • MOUSEEVENTF_VIRTUALDESK //0x4000 Maps coordinates to the entire desktop. Must be used with MOUSEEVENTF_ABSOLUTE.
      • MOUSEEVENTF_ABSOLUTE //0x8000 The dx and dy members contain normalized absolute coordinates. If the flag is not set, dxand dy contain relative data (the change in position since the last reported position). This flag can be set, or not set, regardless of what kind of mouse or other pointing device, if any, is connected to the system. For further information about relative mouse motion, see the following Remarks section.
  • dwExtraInfo(Type: ULONG_PTR) //與滑鼠事件關聯的附加值。應用程式呼叫GetMessageExtraInfo以獲取此額外資訊。

  

建立時間:2021.06.28  更新時間: