亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vb中mouse_event問題?

vb中mouse_event問題?

ITMISS 2019-02-04 10:06:37
vb中mouse_event問題
查看完整描述

2 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

mouse_event 函數功能:該函數綜合鼠標擊鍵和鼠標動作。
函數原型:
VOID mouse_event(
DWORD dwFlags, // motion and click options
DWORD dx, // horizontal position or change
DWORD dy, // vertical position or change
DWORD dwData, // wheel movement
ULONG_PTR dwExtraInfo // application-defined information
);
參數:
dwFlags:標志位集,指定點擊按鈕和鼠標動作的多種情況。此參數里的各位可以是下列值的任何合理組合:
MOUSEEVENTF_ABSOLUTE:表明參數dX,dy含有規范化的絕對坐標。如果不設置此位,參數含有相對數據:相對于上次位置的改動位置。此標志可被設置,也可不設置,不管鼠標的類型或與系統相連的類似于鼠標的設備的類型如何。要得到關于相對鼠標動作的信息,參見下面備注部分。
MOOSEEVENTFMOVE:表明發生移動。
MOOSEEVENTF_LEFTDOWN:表明接按下鼠標左鍵。
MOOSEEVENTF_LEFTUP:表明松開鼠標左鍵。
MOOSEEVENTF_RIGHTDOWN:表明按下鼠標右鍵。
MOOSEEVENTF_RIGHTUP:表明松開鼠標右鍵。
MOOSEEVENTF_MIDDLEDOWN:表明按下鼠標中鍵。
MOOSEEVENTF_MIDDLEUP:表明松開鼠標中鍵。
MOOSEEVENTF_WHEEL:在Windows NT中如果鼠標有一個輪,表明鼠標輪被移動。移動的數量由dwData給出。
dx:指定鼠標沿x軸的絕對位置或者從上次鼠標事件產生以來移動的數量,依賴于MOOSEEVENTF_ABSOLOTE的設置。給出的絕對數據作為鼠標的實際X坐標;給出的相對數據作為移動的mickeys數。一個mickey表示鼠標移動的數量,表明鼠標已經移動。
dy:指定鼠標沿y軸的絕對位置或者從上次鼠標事件產生以來移動的數量,依賴于MOOSEEVENTF_ABSOLVTE的設置。給出的絕對數據作為鼠標的實際y坐標,給出的相對數據作為移動的mickeys數。
dwData:如果dwFlags為MOOSEEVENTF_WHEEL,則dwData指定鼠標輪移動的數量。正值表明鼠標輪向前轉動,即遠離用戶的方向;負值表明鼠標輪向后轉動,即朝向用戶。一個輪擊定義為WHEEL_DELTA,即120。
如果dwFlagsS不是MOOSEEVENTF_WHEEL,則dWData應為零。
dwExtralnfo:指定與鼠標事件相關的附加32位值。應用程序調用函數GetMessgeExtrajnfo來獲得此附加信息。
返回值:無。
備注:如果鼠標被移動,用設置MOUSEEVENTF_MOVE來表明,dX和dy保留移動的信息。給出的信息是絕對或相對整數值。
如果指定了MOWSEEVENTF_ABSOLOTE值,則dX和dy含有標準化的絕對坐標,其值在0到65535之間。事件程序將此坐標映射到顯示表面。坐標(0,0)映射到顯示表面的左上角,(6553,65535)映射到右下角。
如果沒指定MOWSEEVENTF_ABSOLOTE,dX和dy表示相對于上次鼠標事件產生的位置(即上次報告的位置)的移動。正值表示鼠標向右(或下)移動;負值表示鼠標向左(或上)移動。
鼠標的相對移動服從鼠標速度和加速度等級的設置,一個最終用戶用鼠標控制面板應用程序來設置這些值,應用程序用函數SystemParameterslnfo來取得和設置這些值。
在應用加速時系統對指定相對鼠標移動提供了兩個測試。如果指定的沿X軸y軸的距離比第一個鼠標閾值大,并且鼠標的加速等級非零,則操作系統將距離加倍。如果指定的沿X軸或y軸的距離比第二個鼠標閾值大,并且鼠標的加速等級為2,則操作系統將從第一個閾測試得來的距離加倍。這樣就允許操作系統將指定鼠標沿X軸或y軸的相對位移加到4倍。
一旦應用了加速,系統用期望的鼠標速度換算合成的值。鼠標速度的范圍是從1(最慢)到20(最快),并代表基于鼠標移動的距離指示符移動的數量。缺省值是10,表示對鼠標的移動設有附加的修改。
函數mouse_event需要用的應用程序用來合成鼠標事件。也被應用程序用來取得鼠標位置和鼠標按鍵狀態之外的鼠標信息。例如,如果輸入板制造商想將基于畫筆的信息傳給自己的應用程序,可以寫一個直接與輸入板硬件通信的動態鍵接庫(DLL),獲得附加的信息,并保存到一個隊列中。DLL然后調用mouse_event,用標準按鍵和x/y位置數據,并在參數dwExtralnfo設置排列的附加信息的指針或索引。當應用程序需要附加信息時,調用DLL(連同存貯在dwEXtralnfo中的指針或索引),則DLL返回附加信息。
Windows CE:Windows CE不支持參數 dwFlags取MOOSE EVENTF WHEEL常數。
速查: Windows NT: 3.1及以上版本; Windows:95及以上版本;Windows CE:不支持;頭文件:winuser.h;輸入庫:user32.lib。
vb:Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)



查看完整回答
反對 回復 2019-03-18
  • 2 回答
  • 0 關注
  • 981 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號