HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0703
@keyマウス座標12解決


@key

リンク

2012/7/3(Tue) 20:49:52|NO.47472

mousexとmouseyがHSPの枠外にいっても反応するようにきませんか?

あと、任意のキーを押している間はマウスを長押ししている状態するというプログラムがうまくいきません。
任意のキーを押しているときはマウスが連打状態になってしまいます。



この記事に返信する


だいちょ

リンク

2012/7/3(Tue) 21:25:38|NO.47473

>mousexとmouseyがHSPの枠外にいっても反応するようにきませんか?
ginfo_mxとginfo_myで簡単に出来ます。

>あと、任意のキーを押している間・・・
それは、フラグを作って

repeat if (キーを押していたら) { if flg ! 0: (マウスを押す処置) flg = 0 } else { if flg ! 1: (マウスを放す処置) flg = 1 } await ;念のため loop
って感じで僕はやっていますけど・・・。
もっと最適な方法があるんでしょうかね?
そこら辺はあまり詳しくないので、参考程度にお願いします^^;



@key

リンク

2012/7/3(Tue) 23:17:53|NO.47476

ginfo_mx、ginfo_myを使うとウィンドウの座標を引いても
GUIウィンドウの幅だけずれるので(環境によって変わる)できません

マウスクリックのほうは、マウスクリックをするコマンド上の仕組みで呼び出すと
1クリックされたことになってしまうので連続クリックになってしまいます



GrapeColor(DION)

リンク

2012/7/3(Tue) 23:37:48|NO.47477

マウスのクリックについてですが、stick命令を使えば押した回数しか検知しませんよ

stick a, 256



TMKL

リンク

2012/7/4(Wed) 00:08:36|NO.47478




spider

リンク

2012/7/4(Wed) 14:08:50|NO.47484

自分はわかることなら、
ScreenToClient関数をお勧めしたいんだが。
なんていうかこちらのほうが単純なんで。

あくまで個人の意見なので無視してくださっても結構です。



spider

リンク

2012/7/4(Wed) 14:40:45|NO.47485

続いての投稿すみません。

どうでもいいですけど興味があったら読んでください、

HSPのmousex, mouseyはウィンドウプロシージャの
WM_MOUSEMOVEでマウス座標を出して、
それをmousexとしているのかなあ、
っと自分は思っております。



@key

リンク

2012/7/4(Wed) 18:36:45|NO.47487

マウス座標の件は解決しました。
答えてくださった方ありがとうございます
マウスクリックの件ですが、
#uselib "user32.dll"
#func mouse_event "mouse_event" int, int, int
でmouse_eventという命令を使えばマウスを押す、離す動作ができるみたいです。
しかし、mouse_event $2が押す命令とはわかっても離す命令がわかりません。
microsoftの方も見てみましたがよくわかりませんでした
誰か教えてください。



GrapeColor(DION)

リンク

2012/7/4(Wed) 18:42:27|NO.47488

離しかたがわからない?
もっと検索エンジンを活用してください
http://lhsp.s206.xrea.com/hsp_mouse.html
これに載ってます
参考ページを1つや2つ見て分からなかったぐらいで調べるのをあきらめないでください。



@key

リンク

2012/7/4(Wed) 19:16:32|NO.47489

ありがとうございます。完成しました

#uselib "user32.dll" #func mouse_event "mouse_event" int *main getkey key,18 if key { if flg=1: mouse_event $2 flg = 0 } else { if flg=0: mouse_event $4 flg = 1 } wait 1 goto *main
Altを押したらマウスがクリックされます



だいちょ

リンク

2012/7/4(Wed) 20:49:31|NO.47491

なんか単純にすごいです!
回答者がこんな事言うのもアレですが、参考にさせて頂きます。

今はテスト段階だからだと思うのですが、[Alt]は使わないほうがいいです。
例えば、ウィンドウの「閉じる」の上で、[Alt]を押して、クリックしてみてください。
押せませんよね。
なので、他のキーにするのをおすすめします。



@key

リンク

2012/7/4(Wed) 21:46:20|NO.47492

29の無変換がちょうどいいですね
あと、ウィンドウの上の幅や、閉じるボタン等を押しているときは
hspの実行が一時止まってしまうのはなんとかならないでしょうか?



spider

リンク

2012/7/4(Wed) 22:05:10|NO.47493

自分ではどうにもならんが、できるかもしれない。
考え付く可能性としては、
タイマーを使用することかな。

興味とやる気があれば
『WinAPI タイマー』やら『SetTimer』やら
ぐぐってください。



ONION software Copyright 1997-2023(c) All rights reserved.