プログレスバーを比較的簡単に設置できるモジュールです。不定期更新です。
不具合報告や要望等は Twitter のDMか HSPの掲示板 等で頂けると幸いです。
-
user32.as
やgdi32.as
、hsp3util.as
等を必要とせず、本モジュールのみでプログレスバーを設置可能。1 -
設置したプログレスバーに関する情報の取得は関数で行うため、式の中で利用可能。2
-
内部で、オブジェクトの設置には
winobj 命令
、それ以外の命令・関数はsendmsg 命令
を使用。
-
ヘルプファイルの作製
-
pbsetst命令(pbstcolへ名称変更)を割合で指定できるようにしたい(pbstcol2命令)
-
pbinfo関数
にスタイル情報の取得を追加する -
マーキー、通常スタイルの相互変更命令の追加
-
設定に関する命令を1つにまとめたい
-
たくさん並べて、音楽に合わせてピコピコしているアレを作りたい()
-
背景色、バーの色設定命令の追加(断念)
.
├── 01_mypb.hsp
│
├── 01_mypb
│ ├── 01_mypbhelp.hs
│ ├── 01_mypb_smpl.hsp
│ └── 01_mypb.txt
│
├── README.md
├── README.html
└── License.txt
-
01_mypb.hsp をユーザースクリプトのディレクトリか、HSP のインストールディレクトリ下の commonフォルダ内において、01_mypb.hspをインクルードしてください。
例) hsp36/common/01_mypb.hsp
-
01_mypbフォルダをHSPのインストールディレクトリ下にある doclibフォルダ内に01_mypbフォルダごと 置いて下さい。サンプルファイルもそのままで構いません。
例) hsp36/doclib/01_mypb
追加される使用可能命令・関数 全17
//---------------------------------------
// オブジェクトの設置
//---------------------------------------
// プログレスバーの設置(命令・マクロ)
//
// p1,p2 : Xサイズ, Yサイズ
// p3 : オブジェクトハンドルを受け取る変数
// p4(0) : スタイル
// 0 : 通常
// 1 : 垂直
// 2 : マーキー
mypb X, Y, Objhwnd, style
//---------------------------------------
// オブジェクトの設定
//---------------------------------------
// プログレスバーの設定(命令・マクロ)
//
// p1 : オブジェクトハンドル
// p2(0) : 最小値 (int)
// p3(100) : 最大値 (int)
// p4(0) : 現在位置 (int)
// p5(1) : 1ステップ当たりの変化量(+/-int)
pbset objhwnd, min, Max, delta, now
//---------------------------------------
// プログレスバーの実行
//---------------------------------------
// 設定した変化量だけ進める(命令)
//
// p1 : オブジェクトハンドル
pbstep objhwnd
//---------------------------------------
// 現在位置
//---------------------------------------
// プログレスバーの位置再設定(命令)
//
// p1 : オブジェクトハンドル
// p2 : 新しく設定する位置(int)
// p3 : 設定フラグ(0 = 絶対位置, 1 = 相対位置)
pbrepos objhwnd, newpos, flag
//---------------------------------------
// プログレスバーの状態
//---------------------------------------
// プログレスバーの状態設定(命令)
//
// p1 : オブジェクトハンドル
// p2 : バーの状態
// 1 = PBST_NORMAL (緑色)
// 2 = PBST_ERROR (赤色)
// 3 = PBST_PAUSED (黄色)
pbsetst objhwnd, status
//---------------------------------------
// プログレスバーの情報取得
//---------------------------------------
//プログレスバーの情報取得(関数) // ループ等、一覧表示に効果的
//
// p1 : オブジェクトハンドル
// p2 : 取得タイプ
// 0 : 現在位置 (int)
// 1 : 最小値 (int)
// 2 : 最大値 (int)
// 3 : 範 囲 (int)
// 4 : 変化量 (int)
// 5 : 状 態 (int)
// 6 : スタイル (int) ※user32.asが必要です。
pbinfo(objhwnd, p2)
/*** マクロによる省略記法 ***/ // スクリプト上から容易に判別可能
pb_now(objhwnd) // 現在位置
pb_min(objhwnd) // 最小値
pb_max(objhwnd) // 最大値
pb_rag(objhwnd) // 範 囲
pb_var(objhwnd) // 変化量
pb_sts(objhwnd) // 状 態
pb_sty(objhwnd) // スタイル ※user32.asが必要です。
//---------------------------------------
// プログレスバーの配色設定
//---------------------------------------
// プログレスバーの配色変更(命令・マクロ)
//
// p1 : オブジェクトハンドル
// p2(25) : 中間域の下限値 (int)
// p3(40) : 中間域の上限値 (int)
// p4(2) : 下位域の状態 (PBST_ERROR (赤色))
// p5(3) : 中間域の状態 (PBST_PAUSED (黄色))
// p6(1) : 上位域の状態 (PBST_NORMAL (緑色))
pbstcol objhwnd, p2, p3, p4, p5, p6
// プログレスバーの状態配色変更(百分率指定)
//
// p1 : オブジェクトハンドル
// p2(25) : 中間域の下限値 (int:百分率)
// p3(40) : 中間域の上限値 (int:百分率)
// p4(2) : 下位域の状態 (PBST_ERROR (赤色))
// p5(3) : 中間域の状態 (PBST_PAUSED (黄色))
// p6(1) : 上位域の状態 (PBST_NORMAL (緑色))
pbstcol2 objhwnd, p2, p3, p4, p5, p6
//---------------------------------------
// マーキーの操作
//---------------------------------------
// マーキーの操作(命令・マクロ)
//
// p1 : オブジェクトハンドル
// p2 : マーキー(0 = 停止, 1 = 再生)
// p3(30) : アニメーション更新間隔(ms)
pbswmarq objhwnd, p2, p3
//---------------------------------------
// スタイルの相互変更
//---------------------------------------
// スタイルの相互変更(命令) ※user32.asが必要です。
//
// p1 : オブジェクトハンドル
pbcstyle objhwnd
- Windows10, 11
- HSP3.6以上
- Windows11 Pro 22H2 x64
- Hot Soup Processor 3.7beta4
- Visual Studio Code ver 1.73.1
本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。
これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。
作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。
2022/11/19
pbinfo関数
にプログレスバーのスタイル取得機能を追加- それに伴い関数形式のマクロ
pb_sty()
を追加 - プログレスバーのスタイルを交互に変更する
pbcstyle命令
を追加 pbstcol2命令
をプログレスバーの最小値が0以外の場合にも対応- プログレスバーのスタイルを追加
- インクルードガードの修正
2022/11/16
bpsetst2命令
をpbstcol命令
へ名称変更- 直接数値を指定する
pbstcol命令
に対し、百分率指定できるpbstcol2命令
を追加 pbinfo関数
に"範 囲"(最小値と最大値の差)を追加. それに伴い、"変化量"と"状態"のパラメータを一つずつシフトさせたpbinfo関数
の第2パラメータを省略して記述できるマクロを追加
2022/11/14 ヘルプファイルの完成
2022/11/13
-
pbinfo関数
の不具合修正- 修正内容 : 第2パラメータが3(プログレスバーの変化量取得)の場合での取得内容が全く異なるものであったこと
- 原因 :
sendmsg
におけるメッセージID及びマクロ登録の定数が異なるものであったこと- 誤 :
#const PBM_GETSTEP 0x040C
- 正 :
#const PBM_GETSTEP 0x040D
←0x040C
ではなく0x040D
- 誤 :
-
既知の不具合
- 同じく、
pbinfo関数
のバー色の取得
- 同じく、
2022/11/12
-
情報取得関数
pbinfo関数
の新規追加。 それに伴い次の関数を削除- pbgetp (現在位置の取得)
- pbgetst (状態の取得)
2022/11/09 ディレクトリの変更
2022/11/07 初公開