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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0625
びぎなカーソルの変更2未解決


びぎな

リンク

2007/6/25(Mon) 02:17:52|NO.9121

マウスカーソルの変更でどうにもなら無いので教えてください
#uselib "user32.dll"
#cfunc LoadCursor "LoadCursorA" nullptr, int #func SetClassLong "SetClassLongA" int, int, int SetClassLong hwnd, -12, LoadCursor (32515) a="test":b="test2" mesbox a mesbox b
上記のような時、オブジェクトとオブジェクトの境目でカーソルが
初期値に戻ってしまいます。
オブジェクト自体のカーソルを変更しても境目は初期値になってしまいます。
なんとか境目のカーソルを変更する方法はないでしょうか?



この記事に返信する


kz3

リンク

2007/6/25(Mon) 13:01:26|NO.9126

>なんとか境目のカーソルを変更する方法はないでしょうか?
SetClassLong()を使うとそのウィンドウクラスをもつコントロール全体(?)に変更が及ぶので、
あまり使用しないほうがいいと思います。(それが目的なら別)

コントロールに送られるカーソル変更メッセージ(WM_SETCURSOR)を捕まえて、
プログラム側でカーソルを変更する方法があります。(サブクラス化)

HSP3でオブジェクトをサブクラス化するプラグインがいくつか出ているので、
HSPWiKiやHSP開発wikiで探してみてください。

ちなみにsbcobjの場合だとこんな感じです。

/* オブジェクトに対する割り込み */ repeat 2 objcmd cnt, $0020, *wm_setcursor loop stop *wm_setcursor /* 境界線上にマウスがあるときカーソル変更 */ ht = lparam & $ffff if( ht == 18 ) { SetCursor hCursor return 1 } return
# プラグインのメンテナンスを怠っていました。



f

リンク

2007/7/7(Sat) 02:20:57|NO.9288

age



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