『HSPの裏技』ステータスバーを作成してみる(HSP2.x 版)をHSP3.x バージョンへ書き換えたものです。
http://chokuto.ifdef.jp/urawaza/statusbar.html
『HSPの裏技』ステータスバーを作成してみる(HSP2.x 版)をHSP3.x バージョンへ書き換えたものです。
http://chokuto.ifdef.jp/urawaza/statusbar.html
;【HSP3.x 移植版】
;『HSPの裏技』ステータスバーを作成してみる
; http://chokuto.ifdef.jp/urawaza/statusbar.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
; コモンコントロールライブラリの初期化
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
stop