hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
ウィンドウ外やオブジェクト上ではmousex,mouseyの値が更新されず正確な値ではなくなってしまいます。
これはマウスカーソルがクライアントエリア上にあるときにのみmousexとmouseyが更新されることによります。
このモジュールは上記の問題を解消し、どこであってもマウス座標が取得できるようにするモジュールのサンプルです。
gselで選んだ描画先ウィンドウから見たマウス座標を返します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| - | | ! |
|
スクリーン座標をクライアント領域座標へ変換することで上記の問題を解決します。
ScreenToClient?
このAPI関数は、スクリーン上の任意の点の座標を、ウィンドウのクライアント座標に変換します。
詳しい説明:ちょくとのページ - ScreenToClient
ちなみにサンプルでは、
#func ScreenToClient "ScreenToClient" int, int
としているため、
ScreenToClient hwnd, varptr(mxy)
として使用しますが、
#func ScreenToClient "ScreenToClient" int, var
とすれば、
ScreenToClient hwnd, mxy
と簡単に記述できます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| - | | ! |
|