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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0413
可憐とある領域にカーソルを合わせたらメッセージを表示する5解決


可憐

リンク

2015/4/13(Mon) 00:34:53|NO.68524

題名のような事がしたいのですが
過去スレを探しても見つからなかったので質問させて頂きます。


http://gyazo.com/6fcb2dc64396fce1510ab22e9dc45174

上の画像のようなメッセージを表示させるにはどうすればいいのでしょうか?
サンプルソース等、ないですがよろしくお願いしますT_T



この記事に返信する


科学太郎

リンク

2015/4/13(Mon) 00:49:31|NO.68525

ツールチップですね。
HSPにもありますよ。

マニュアルでtooltip命令を読んでみて下さい。

#include "llmod3/llmod3.hsp" #include "llmod3/misc.hsp" button "test",*label btn_id=0 tooltip btn_id,"テストします" *label stop



可憐

リンク

2015/4/13(Mon) 01:13:31|NO.68526

科学太郎様

ツールチップという名前なのですね
初めて知りましたありがとうございます
これは基本的にはbuttonやinputのオブジェクトにしか反応できないものなのでしょうか?
例えばBoxfとかにできたら。。



FunnyMaker

リンク

2015/4/13(Mon) 07:47:20|NO.68527




科学太郎

リンク

2015/4/13(Mon) 07:58:25|NO.68528

> 例えばBoxfとかにできたら。。
任意の矩形ですか。

HSPのtooltip命令では無理です。
よって API 関数を呼び出して実装する必要があります。
http://wisdom.sakura.ne.jp/system/winapi/common/common10.html

//------------------------------------------------------------------------------ // 科学太郎のサンプル for HSP(Ver.3.3.2) //============================================================================== // テーマ:ツールチップ // 掲示板:http://hsp.tv/play/pforum.php?mode=all&num=68524 //------------------------------------------------------------------------------ //-------------------------------------- // 記号定数(API定数) //-------------------------------------- #const NULL $00000000 #const TTS_ALWAYSTIP $00000001 #const TTF_SUBCLASS $00000010 #const TTM_ADDTOOL $00000404 #const TTM_SETMAXTIPWIDTH $00000418 //-------------------------------------- // 列挙定数(TOOLINFO) //-------------------------------------- #enum ti_cbSize=0 ;TOOLINFO構造体のサイズ(バイト数) #enum ti_nFlags ;ツールチップのフラグ #enum ti_hWnd ;ウインドウのハンドル #enum ti_nID ;ツールチップのID #enum ti_rc ;ツールチップの矩形 #enum ti_rcLeft=ti_rc ;ツールチップの矩形(左上隅X) #enum ti_rcTop ;ツールチップの矩形(左上隅Y) #enum ti_rcRight ;ツールチップの矩形(右下隅X) #enum ti_rcBottom ;ツールチップの矩形(右下隅Y) #enum ti_hInst ;インスタンスのハンドル(文字列リソース) #enum ti_szText ;ツールチップの文字列 #enum DIM_TOOLINFO #enum SIZE_TOOLINFO=(DIM_TOOLINFO*4) //-------------------------------------- // メイン部 //-------------------------------------- *Init cx=50 cy=80 sx=100 sy=100 *Main screen 0,640,480,SCREEN_NORMAL|SCREEN_FIXEDSIZE title "No.029(ツールチップ)" repeat 3:cntY=cnt repeat 5:cntX=cnt n=(cntY*5+cntX) x=(sx+10)*cntX+cx y=(sy+10)*cntY+cy ToolTipRect x,y,(x+sx),(y+sy),strf("矩形(%d)\nの\nツールチップ",n),100 loop loop stop //-------------------------------------- // ツールチップの作成 //-------------------------------------- #deffunc ToolTipRect int _cx_,int _cy_,int _ex_,int _ey_,str _msg_,int _width_,\ local idTip,\ local msgTip winobj "tooltips_class32","",0,TTS_ALWAYSTIP,-1,-1,0,0:idTip=stat ;文字列の補正 msgTip=_msg_ if(_width_==0){ if(strlen(msgTip)>=64):poke msgTip,64,0 } ;構造体の初期化 dim TOOLINFO,DIM_TOOLINFO TOOLINFO(ti_cbSize) =SIZE_TOOLINFO TOOLINFO(ti_nFlags) =TTF_SUBCLASS TOOLINFO(ti_hWnd) =hWnd TOOLINFO(ti_nID) =0 TOOLINFO(ti_rcLeft) =_cx_ TOOLINFO(ti_rcTop) =_cy_ TOOLINFO(ti_rcRight) =_ex_ TOOLINFO(ti_rcBottom) =_ey_ TOOLINFO(ti_hInst) =NULL TOOLINFO(ti_szText) =varptr(msgTip) sendmsg objinfo_hwnd(idTip),TTM_ADDTOOL,0,varptr(TOOLINFO) ;改行幅の設定 if(_width_){ sendmsg objinfo_hwnd(idTip),TTM_SETMAXTIPWIDTH,0,_width_ } ;テスト用の矩形 switch(idTip\3) case 0:color $FF,$00,$00:swbreak case 1:color $00,$FF,$00:swbreak case 2:color $00,$00,$FF:swbreak swend boxf _cx_,_cy_,_ex_,_ey_ pos _cx_,_cy_:color $FF,$FF,$FF:mes strf("矩形(%d)",idTip) return idTip //------------------------------------------------------------------------------ // End of newSample029.hsp //------------------------------------------------------------------------------



可憐

リンク

2015/4/14(Tue) 22:27:18|NO.68565

FunnyMaker 様

頂いたソース少し改良させて頂きました
これから使わせてもらいますありがとうございます。

科学太郎 様

一応HSPの命令で自分でも作ってみましたがやはりさっぱりでした
APIもっと覚えないといけないと思いましたT_T

ありがとうございました



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