AutoHotkey スレッド part7
at SOFTWARE
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
500:名無しさん@お腹いっぱい。 09/03/21 09:41:42 mEL9l3Hw0 ダブルクリック検出の件だが、何とかなったので張ってみる。コードのインデントに全角空白使ってるので注意。 ; IsDoubleClicked関数 ; ダブルクリックを判定する関数、L,R,M,X1,X2の各ボタンに対応 ; システムからダブルクリック時間、範囲を取得して判定、AutoHotkey_Lの#ifでの使用を想定 IsDoubleClicked(){ Static dcTime=0,LastTime,tx,ty,LastMouseKey=0,lx=-256,ly=-256,lr=0 if(!dcTime){ dcTime:=DllCall("GetDoubleClickTime") SysGet,tx,36 SysGet,ty,37 LastTime:=A_TickCount-dcTime*2 } if(A_TickCount=LastTime) Return lr NowMouseKey:=(GetKeyState("LButton","P") | GetKeyState("RButton","P")<<1 | GetKeyState("MButton","P")<<2 | GetKeyState("XButton1","P")<<3 | GetKeyState("XButton2","P")<<4) VarSetCapacity(Point,8) DllCall("GetCursorPos","uint",&point) if((LastMouseKey!=NowMouseKey)||((A_TickCount-LastTime)>dcTime) ||(abs((NumGet(Point,0)-lx))>tx)||(abs((NumGet(Point,4)-ly))>ty)){ lx:=NumGet(Point,0),ly:=NumGet(Point,4) LastTime:=A_TickCount,LastMouseKey:=NowMouseKey Return lr:=0 } else{ LastTime:=A_TickCount-dcTime Return lr:=1 } }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5216日前に更新/194 KB
担当:undef