PBM_STEPIT

WindowsAPI(Win32API) Advent Calendar 2015 14日目
WindowsAPI(Win32API) Advent Calendar 2015 - Adventar

PBM_STEPITは、プログレスバーの進捗を進めろと命令するウィンドウメッセージ・・・。

PBM_STEPIT message (Windows)

Button1を押したら、500ミリ秒間隔のタイマーが作動する・・・。
WM_TIMERが発生するたびに、これをSendMessageで送信して、プログレスバーの進捗が進むようにする・・・。

resource.hは、

PBM_STEPIT.rcは、

タイマーID_TIMER1を定義・・・。
Button1(ID_BUTTON1)をようやく使う時が来た・・・。

前回同様、

WM_INITDIALOGで範囲が0から200のプログレスバーをセット・・・。
最初の位置は0にしておく・・・。

Button1(ID_BUTTON1)の時、

SetTimerでID_TIMER1を500ミリ秒にセット・・・。

WM_TIMERの時、SendMessageの第2引数にPBM_STEPITを指定・・・。
第3、第4引数は0・・・。

f:id:BG1:20151214123912p:plain

最初、この状態でButton1を押すと、

f:id:BG1:20151214123951p:plain

ちょっとずつ進行していく・・・。

f:id:BG1:20151214124054p:plain

プログレスバーが最後まで終わると、

f:id:BG1:20151214124122p:plain

また最初に戻ってしまうので、終了時の処理は考える必要あるが・・・。

Sample/PBM_STEPIT.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/PBM_STEPIT.rc at master · bg1bgst333/Sample · GitHub