『HSPの裏技』シンプルモードステータスバー(HSP2.x 版)をHSP3.x バージョンへ書き換えたものです。
http://chokuto.ifdef.jp/urawaza/statusbar2.html
『HSPの裏技』シンプルモードステータスバー(HSP2.x 版)をHSP3.x バージョンへ書き換えたものです。
http://chokuto.ifdef.jp/urawaza/statusbar2.html
; 【HSP3.x 移植版】 ; 『HSPの裏技』シンプルモードステータスバー ; http://chokuto.ifdef.jp/urawaza/statusbar2.html #uselib "comctl32.dll" #func InitCommonControlsEx "InitCommonControlsEx" int ; 各種定数定義 #define ICC_BAR_CLASSES 4 #define WS_CHILD 0x40000000 #define WS_VISIBLE 0x10000000 #define CCS_BOTTOM 0x00000003 #define SB_SETTEXT 0x0401 #define SB_SETPARTS 0x0404 #define SB_SIMPLE 0x0409 #define SB_SIMPLEID 255 ; コモンコントロールライブラリの初期化 initinfo = 8, ICC_BAR_CLASSES InitCommonControlsEx varptr(initinfo) ; ステータスバーの作成 styleFlags = WS_CHILD | WS_VISIBLE | CCS_BOTTOM winobj "msctls_statusbar32", "", 0, styleFlags, 0, 0 statusbarID = stat ; ステータスバーを3つのパーツに分ける partspos = 80, 220, -1 sendmsg objinfo_hwnd(statusbarID), SB_SETPARTS, 3, varptr(partspos) ; パーツの表示テキスト設定 msgtext(0) = "パーツ1" ; 左揃えで表示 msgtext(1) = "\tパーツ2" ; 中央揃えで表示 msgtext(2) = "\t\tパーツ3" ; 右揃えで表示 repeat 3 ; SB_SETTEXT メッセージ送信 sendmsg objinfo_hwnd(statusbarID), SB_SETTEXT, cnt, msgtext(cnt) loop pos 0, 0 objsize ginfo_winx button gosub "simple mode 表示", *ChangeSimpleMode button gosub "nonsimple mode 表示", *ChangeNonSimpleMode stop *ChangeSimpleMode ; シンプルモードに切り替え ; SB_SIMPLE メッセージ送信 sendmsg objinfo_hwnd(statusbarID), SB_SIMPLE, 1, 0 ; SB_SETTEXT メッセージ送信 msgtext = "シンプルモードテキスト" sendmsg objinfo_hwnd(statusbarID), SB_SETTEXT, SB_SIMPLEID, varptr(msgtext) return *ChangeNonSimpleMode ; 非シンプルモードに切り替え ; SB_SIMPLE メッセージ送信 sendmsg objinfo_hwnd(statusbarID), SB_SIMPLE, 0, 0 return