	;================================================================================
	;モジュール progbox
	;ver 1.0
	;	プログレスボックス
	;	llmod.asが必要です
	;================================================================================

	; progboxモジュール命令一覧
	;
	; progbox			プログレスボックスの作成
	; sel_progbox			操作するプログレスボックスを選択
	; progrng			プログレスボックスの範囲を設定
	; progset			プログレスボックスの各設定
	;
	; 計	4個


	;使い方
	;================================================================================
	; progbox n1,n2,n3		プログレスボックスの作成
	;
	;  n1 : 幅
	;  n2 : 高さ
	;  n3 : スタイル
	;================================================================================
	;
	;<>説明
	; プログレスボックスを作成します。
	; プログレスボックスは、進捗状況を表示するのに便利です。
	; 幅や高さを省略するとobjsizeで設定した幅、高さが使われます。
	;
	;<>この命令を呼び出した後のstatの値
	; プログレスボックスのID
	;
	;<>スタイル(comctl32.dllのバージョンが4.70以上でなければ無効です)
	; n4の値
	; 1	進み方がスムーズになります。
	; 4	垂直に目盛りが進みます。
	;


	;================================================================================
	; sel_progbox n1		操作するプログレスボックスを選択
	;
	;  n1 : プログレスボックスのID
	;================================================================================
	;
	;<>説明
	; この命令使用後はn1で指定したプログレスボックスに対して各操作を行います。
	; プログレスボックス新規に作成すると、自動的にそのプログレスボックスが
	; 各操作の対象になります。
	; 複数のプログレスボックスを作成したときは、この命令で操作するプログレス
	; ボックスを選択してください。
	;

	;================================================================================
	; progrng n1,n2,n3		プログレスボックスの範囲を設定
	;
	;  n1 : 最小値
	;  n2 : 最大値
	;  n3 : 最大値の拡張フラグ
	;================================================================================
	;
	;<>説明
	; プログレスボックスの範囲の設定をします。
	; 設定できる値は、最小値が0以上、最大値は65535以下です。
	; n3に1を代入すると最大値が$ffffffffまでになります。ただしこの設定は
	; comctl32.dllのバージョンが4.70以上でなければ無効です。
	;
	;<>この命令を呼び出した後のstatの値
	; 以前セットしていた範囲 [ 最小値 | (最大値<<16)]の形式 (n3=0のときのみ)
	;

	;================================================================================
	; progset n1,n2			プログレスボックスの各設定
	;
	;  n1 : セットする値
	;  n2 : セットするタイプ
	;================================================================================
	;
	;<>説明
	; プログレスボックスの各設定を行います。
	; セットするタイプは以下の通りです。
	;
	;目的			n1の値		n2の値		progset実行後のstatの値
	; 進ませる		0		0		進ませる前の位置
	; 進ませる量のセット	進ませる量	0		以前セットした進ませる量
	; 位置をセット		セットする位置	1		セットする前の位置
	; 特定の量を増加させる	増加させる量	2		増加させる前の位置
	;
	;(以下のものはcomctl32.dllのバージョンが4.70以上でなければ無効です)
	;
	; 目盛りの色		色		3		セットする前の色
	; 目盛りの後ろの色	色		4		セットする前の色
	; (色は   r|(g<<8)|(g<<16)   の形式)
	; (値が 0 になっている所は省略できる)
	; statの値が'セットする前の色'となっている所は、セットする前の色がシステムの
	; デフォルトの色だった場合 -16777216($ff000000)がstatに代入されます。また、色を
	; セットするときに$ff000000を使うとシステムのデフォルトの色に設定できます。
	;
	;
	;<>例
	;	progbox 300,20		;幅300,高さ20のプログレスボックスを作る
	;	progrng 0,200		;範囲は0から200
	;
	;*lp
	;	progset			;目盛りを進ませる
	;		;
	;		;
	;	goto lp
	;





	;module始め>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	#module "progbox"


	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;progbox
	;ProgressBarの作成
	;................................................................................
	#deffunc progbox int,int,int
	mref v1			;幅
	mref v2,1		;高さ
	mref v3,2		;スタイル
	mref stt,64		;sttはここでstat扱いにする

	;#define WS_CHILD	0x40000000
	;#define WS_VISIBLE	0x10000000
	v3=v3|$50000000
	alloc m,64		;リセット
	m=csrx,csry,v1,v2,v3,0,$200
	_makewnd m,"msctls_progress32"
	handle_of_prog=m
	stt=handle_of_prog
	return

	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;sel_progbox
	;
	;................................................................................
	#deffunc sel_progbox int
	mref v1
	stt=handle_of_prog
	handle_of_prog=v1
	return


	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;progrng
	;ProgressBarの範囲の設定
	;................................................................................
	#deffunc progrng int,int,int
	mref v1
	mref v2,1
	mref v3,2

	if v3 {
		;#define PBM_SETRANGE32		(WM_USER+6) //WM_USER 1024
		;// lParam = high, wParam = low
		m=1030
	}else{
		;範囲のセット
		;#define PBM_SETRANGE	1025
		v2=v1 | (v2<<16)
		m=1025 : v1=0
	}
	prm=handle_of_prog,m,v1,v2
	sendmsg prm
	return

	;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	;progset
	;ProgressBarの設定
	;................................................................................
	#deffunc progset int,int
	mref v1
	mref v2,1

	if v2 {
		m=0,1026,1027,1033,$2001
		m=m.v2
		if v2<3 : v2=0 : else v2=v1 : v1=0
;		if v2=1 {
;			;v2=1
;			;位置をセット
;			;#define PBM_SETPOS	1026
;			m=1026:v2=0
;		}
;		if v2=2 {
;			;v2=2
;			;特定の量を増加させる
;			;#define PBM_DELTAPOS	1027
;			m=1027:v2=0
;		}
;		if v2=3 {
;			;v2=3
;			;#define PBM_SETBARCOLOR		(WM_USER+9)
;			m=1033 : v2=v1 : v1=0
;		}
;		if v2=4 {
;			;v2=4
;			;#define PBM_SETBKCOLOR		CCM_SETBKCOLOR
;			;// lParam = bkColor
;			;#define CCM_FIRST		0x2000
;			;// Common control shared messages
;			;#define CCM_SETBKCOLOR		(CCM_FIRST + 1)
;			;// lParam is bkColor
;			m=$2001 : v2=v1 : v1=0
;		}
	}else{
		if v1 {
			;進む量のセット
			;#define PBM_SETSTEP	1028
			m=1028:v2=0
		}else {
			;進ませる
			;#define PBM_STEPIT	1029
			m=1029:v1=0:v2=0
		}
	}
	prm=handle_of_prog,m,v1,v2
	sendmsg prm
	return


	;module終わり>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	#global
