waiei -blog-

その日の出来事を簡単に紹介する日記

くかくかすーすー

2008-04-29-Tue-22:00
最近漫画のほう全然更新してないなー

Web拍手レス
4/27
ホントに紹介されてるwwすげぇ!
ネタじゃないよwww
しかし思うが窓の杜はどこでソフトの情報拾ってきてるんだろうなー

4/28
おまえはよく頑張ったの条件に、
ネットワーク使用率の平均を追加して欲しい!!

おっと、またもや通信関係ですか
通信関連になるととりあえずDLLが増えるから
ファイルサイズが合計で1MBほどになる予感w
ネットワークバージョンと通常版の2つ作るのもありかなー
とりあえず、バージョンアップネタとして考えておきますー




HSPでVista専用のプログレスバーネタ

というわけでサンプルコードの載せる練習をしつつ
小ネタな記事を書いてみる

Kpanさんプログレスバーメモを見ていると
対応がVista以降なるものがいくつかあったので
どんな効果なのか実際に作ってみることに

スクリプト(トリプルクリックで選択可能)
#define PBS_MARQUEE 0x08
#define PBST_NORMAL 0x0001
#define PBST_ERROR  0x0002
#define PBST_PAUSED 0x0003
#define PBM_SETSTATE 0x0410
#define PBM_GETSTATE 0x0411
#define PBM_SETMARQUEE 0x040A

#module
#defcfunc getprgstat int p1
sendmsg p1,0x0411:prgstat=stat
if prgstat=0x0001{
    return "通常"
}else:if prgstat=0x0002{
    return "エラー"
}else:if prgstat=0x0003{
    return "一時中断"
}else{
    return "なぁにこれ~?"
}
#global

    screen 0,240,260:title "VistaPBで遊ぶ"
    pos 20:sysfont 17
    mes "\n(0) 通常"
    winobj "msctls_progress32""", , $50000000, 200, 20
    prg0=objinfo(stat,2)
    mes "\n(1) エラー"
    winobj "msctls_progress32""", , $50000000, 200, 20
    prg1=objinfo(stat,2)
    mes "\n(2) 一時中断"
    winobj "msctls_progress32""", , $50000000, 200, 20
    prg2=objinfo(stat,2)
    mes "\n(3) セットアップ時のアレ(XP以降)"
    winobj "msctls_progress32""", , $50000000 | PBS_MARQUEE, 200, 20
    prg3=objinfo(stat,2)
    sendmsg prg0,0x402,50                   //メモリを50%の位置に設定
    sendmsg prg0,PBM_SETSTATE,PBST_NORMAL   //状態設定(p3の値で設定)
    sendmsg prg1,0x402,50
    sendmsg prg1,PBM_SETSTATE,PBST_ERROR
    sendmsg prg2,0x402,50
    sendmsg prg2,PBM_SETSTATE,PBST_PAUSED
    sendmsg prg3,PBM_SETMARQUEE,1,20        //p3=1で有効 , p4=メモリの速さ(ミリ秒)
    mes "\n"
    mes "(0) の状態:"+getprgstat(prg0)
    mes "(1) の状態:"+getprgstat(prg1)
    mes "(2) の状態:"+getprgstat(prg2)
    mes "(3) の状態:"+getprgstat(prg3)
    


実行するとこんな感じ
vistapb.png

50% になるまでは全部緑色なんですけど
なった瞬間色が変わります。
ちなみに一番下はおまけw
XP以降で動作するアレです。

XPで見たほうがわかりやすいかも
xppb.png

状態取得&変更はVista以降なので正しく出ていません。
ちなみにXPだと一番下のバーの動作がちょっと速いような。
50ミリ秒くらいにするほうが良いかとおもうけど
それだとVistaじゃ逆に遅い…
むーん、何でこんなめんどい仕様なんだYO

ちなみにクラシック環境だとこうなる
vistaclpb.png


だけど98だとかなり悲惨w
98pb.png


[HSP]
HOME