【HSP3.x 移植版】『HSPの裏技』ステータスバーを作成してみる

『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