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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
1223
kn.tm「画像の上に来たらツールチップを表示」のプログラム4解決


kn.tm

リンク

2010/12/23(Thu) 18:30:16|NO.36315

ツールチップについてです。
今作っているプログラミング全体から見たらあまり重要な項目ではないのですが気になったので質問します。

マウスカーソルが、ある画像の上に来たらツールチップを表示するプログラムを作りたいのですが方法がわかりません。

まず考え付いたのは、mousexなどでマウスの座標を取得して指定した場所にツールチップを表示するという方法ですが、misc.hspをインクルードしてやる方法でやると実際にオブジェクトを配置しなければいけないことがわかりました。

ほかにも非表示のウィンドウを作ったりだとかいう方法も思いついたけどプログラム(screenの管理)が複雑になってしまうだろうし、重くなってしまうのではないかと不安です。


ツールチップを指定した位置に表示する方法を教えてください。

またほかの方法があるという場合も是非お願いします。



この記事に返信する


リンク

2010/12/23(Thu) 19:32:39|NO.36316

どうしても自前のツールチップではいけないのなら画像をオブジェクト化する方法があります。
あとは透明なスタティックテキストを被せるなど。



info

リンク

2010/12/24(Fri) 01:53:45|NO.36317

TOOLINFO構造体を使用することにより。

ウィンドウ上の 四角形内を、tooltipを表示する領域に
指定する事が可能です。

今忙しいので、スクリプトは無理ですが、
TOOLINFO構造体でインターネット検索してみれば。詳しく知ることが出来ると思います。



info

リンク

2010/12/24(Fri) 02:42:06|NO.36319

なんとなく作ってしまいました(汗)
現実逃避したかったので良いのですが。


#enum tlifo_cbSize = 0 #enum tlifo_uFlags #enum tlifo_hwnd #enum tlifo_uId #enum tlifo_left #enum tlifo_top #enum tlifo_right #enum tlifo_bottom #enum tlifo_hinst #enum tlifo_lpszText #enum tlifo_lParam #enum tlifo_lpReserved #enum TOOLINFO_ELETOTAL // TOOLTIP作成 winobj "tooltips_class32","",,0x1 // アクティブでなくてもTOOLを表示 hTool = objinfo_hwnd(stat) sendmsg hTool,0x0418/*TTM_SETMAXTIPWIDTH*/,,200 ;TOOLの幅の最大値を設定 改行できるようになる // 四角形を描画 rect = 10,10,200,200 boxf rect,rect.1 ,rect.2 ,rect.3 pos rect,rect.1 :color 255,255 mes"この四角形内に、マウス\nポインタを置いてみて下さ\nい // TOOLINFO 構造体 text = "toolciq\ntoolcip\ntooltiq" dim ti , TOOLINFO_ELETOTAL ti.tlifo_cbSize = TOOLINFO_ELETOTAL*4 // 構造体のサイズ ti.tlifo_uFlags = 0x10 /*TTF_SUBCLASS*/// 自動でpopup ti.tlifo_hwnd = hwnd // TOOLを表示するウィンドウのハンドル ti.tlifo_uId = 0 // Statusを書き換える際などに必要である、TOOLTIPのID ti.tlifo_left = rect.0 // 四角形の座標 rect 構造体 ti.tlifo_top = rect.1 // ti.tlifo_right = rect.2 // ti.tlifo_bottom = rect.3 // ti.tlifo_lpszText= varptr(text) // bufferのpointer // TOOLTIP登録 sendmsg hTool,0x0404/*TTM_ADDTOOL*/,,varptr(ti)



kn.tm

リンク

2010/12/25(Sat) 13:09:48|NO.36342

infoさんのスクリプトを参考にしてできそうです。
とても頼りになりました。

この機会に少しAPIについて知ることができたし、良かったです。

どうもみなさんご回答ありがとうございました。



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