ウインドウ上のカーソル座標

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ウインドウ上のカーソル座標

by トモカズ » 2008年6月01日(日) 12:48

konisiさん、上の返信に気がつきかず自己レスと書いてしまいました。お礼が書けず失礼いたしました。
何度もご丁寧にありがとうございます。

自己レスです(連続投稿申しわけありません)

by トモカズ » 2008年6月01日(日) 12:44

以下のコードにて解決しました。
スレ汚しになってしまい申し訳ありませんでした。

#N88BASIC
Dim CursorPos As POINTAPI
Dim MX%,MY%

*LOOP1
GetCursorPos(CursorPos)
ScreenToClient(_PromptSys_hWnd, CursorPos)
MX%=CursorPos.x
MY%=CursorPos.y
LOCATE 0,0:PRINT MX%;MY%
GOTO *LOOP1

by konisi » 2008年6月01日(日) 11:04

一応可能です。
AB4系だと、プロンプトのウインドウハンドルは_PromptSys_hWndに入ってます。

横からすみません

by トモカズ » 2008年6月01日(日) 07:26

便乗質問になってしまいます。申しわけありません。
高信期さんの手法はN88BASICモードで使用することは可能なのでしょうか?
もし可能であればやり方をご教授いただけないでしょうか?
コンパイル時に「MOUSE.abp(4) - "hMainWnd" 無効な識別子です」のエラーとなってしまいます。

よろしくお願いいたします。

by よしき » 2006年12月27日(水) 23:40

こんな便利なものがあったとは・・・。
OverTakerさんのアイデアより多少処理がかるくなりそうですね。
ありがとうございます。

by 高信期 » 2006年12月27日(水) 01:43

ScreenToClient関数を使う手もあります。

コード: 全て選択

Dim CursorPos As POINTAPI
GetCursorPos(CursorPos)
ScreenToClient(hMainWnd, CursorPos)

by よしき » 2006年12月27日(水) 01:35

思いつきもしませんでした。
すばらしいアイディアありがとうございます。

by OverTaker » 2006年12月27日(水) 01:13

マウスが動いた時のイベントで取得される座標を、変数に保存しておく、というのでは駄目でしょうか?
http://www.activebasic.com/help_center/ ... seMove.htm

ウインドウ上のカーソル座標

by よしき » 2006年12月27日(水) 00:50

GetCursorPosでスクリーン座標は手に入るのですが、hMainWnd上での座標を手に入れることはできないのでしょうか?

もしやウインドウの座標を求めてそこから計算とかになるんですか…?

ページトップ