プログレスバーのメッセージをまとめて紹介します。(戻る)
- 最小値/最大値の取得(PBM_GETRANGE)
- 最小値/最大値の設定(PBM_SETRANGE)
- 最小値/最大値の設定(PBM_SETRANGE32)
- 増分値の取得(PBM_GETSTEP)
- 増分値の設定(PBM_SETSTEP)
- 増分値だけ進める(PBM_STEPIT)
- 現在位置の取得(PBM_GETPOS)
- 現在位置の設定(PBM_SETPOS)
- 現在位置の相対設定(PBM_DELTAPOS)
- 背景色の取得(PBM_GETBKCOLOR)
- 背景色の設定(PBM_SETBKCOLOR)
- バー色の取得(PBM_GETBARCOLOR)
- バー色の設定(PBM_SETBARCOLOR)
- バー状態の取得(PBM_GETSTATE)
- バー状態の設定(PBM_SETSTATE)
- マーキーの操作(PBM_SETMARQUEE)
チュートリアル
- コモンコントロールの準備(InitCommonControls)
- PBM_SETRANG メッセージを送信して、最小値/最大値を指定。
- PBM_SETSTEP メッセージを送信して、1ステップの増分を指定。
- PBM_STEPIT メッセージを送信して、1ステップだけ増加。
最小値と最大値の取得
typedef struct { int iLow; // 最小値 int iHigh; // 最大値 } PBRANGE, *PPBRANGE;
// 最小値の取得 DWORD dwMin = SendMessage( hWnd, PBM_GETRANGE, TRUE, NULL );
// 最大値の取得 DWORD dwMax = SendMessage( hWnd, PBM_GETRANGE, FALSE, NULL );
// 最小値と最大値の取得(戻り値は最小値) PBRANGE range; DWORD dwMin = SendMessage( hWnd, PBM_GETRANGE, TRUE, (LPARAM)&range ); 最小値:range.iLow 最大値:range.iHigh
// 最小値と最大値の取得(戻り値は最大値) PBRANGE range; DWORD dwMax = SendMessage( hWnd, PBM_GETRANGE, FALSE, (LPARAM)&range ); 最小値:range.iLow 最大値:range.iHigh
最小値と最大値の設定[16Bit]
// 16ビット値で最小値と最大値の設定 DWORD dwRange = SendMessage( hWnd, PBM_SETRANGE, 0, MAKELPARAM(最小値,最大値) ); 最小値:LOWORD(dwRange) 最大値:HIWORD(dwRange)
最小値と最大値の設定[32Bit]
// 32ビット値で最小値と最大値の設定 DWORD dwRange = SendMessage( hWnd, PBM_SETRANGE32, 最小値, 最大値 ); 最小値:LOWORD(dwRange) 最大値:HIWORD(dwRange)
増分値の取得
// 増分値の取得 DWORD dwStep = SendMessage( hWnd, PBM_GETSTEP, 0, 0 );
増分値の設定
// 増分値の設定 DWORD dwStep = SendMessage( hWnd, PBM_SETSTEP, 増分値, 0 );
増分値だけ進める
// 増分値だけ進める DWORD dwStep = SendMessage( hWnd, PBM_STEPIT, 0, 0 );
現在位置の取得
// 現在位置の取得 UINT uPos = SendMessage( hWnd, PBM_GETPOS, 0, 0 );
現在位置の設定
// 現在位置の設定 UINT uPos = SendMessage( hWnd, PBM_SETPOS, 新しい位置, 0 );
現在位置の相対設定
// 現在位置の相対設定 UINT uPos = SendMessage( hWnd, PBM_DELTAPOS, 増加量, 0 );
背景色の取得
// 背景色の取得 COLORREF crBkColor = SendMessage( hWnd, PBM_GETBKCOLOR, 0, 0 );
// 既定色の判定 if ( SendMessage(hWnd,PBM_GETBKCOLOR,0,0) == CLR_DEFAULT ){ /* デフォルト色 */ } else{ /* デフォルト色以外 */ }
背景色の設定
// 背景色の設定 COLORREF crBkColor = SendMessage( hWnd, PBM_SETBKCOLOR, 0, 背景色 );
// 既定色の設定 COLORREF crBkColor = SendMessage( hWnd, PBM_SETBKCOLOR, 0, CLR_DEFAULT );
バー色の取得
// バー色の取得 COLORREF crBarColor = SendMessage( hWnd, PBM_GETBARCOLOR, 0, 0 );
// 既定色の判定 if ( SendMessage(hWnd,PBM_GETBARCOLOR,0,0) == CLR_DEFAULT ){ /* デフォルト色 */ } else{ /* デフォルト色以外 */ }
バー色の設定
// バー色の設定 COLORREF crBarColor = SendMessage( hWnd, PBM_SETBARCOLOR, 0, バー色 );
// 既定色の設定 COLORREF crBarColor = SendMessage( hWnd, PBM_SETBARCOLOR, 0, CLR_DEFAULT );
バー状態の取得
// バー状態の取得 DWORD dwState = SendMessage( hWnd, PBM_GETSTATE, 0, 0 );
バー状態の設定
// バー状態の設定 DWORD dwState = SendMessage( hWnd, PBM_SETSTATE, バーの状態, 0 );
マーキーの操作
// マーキー・アニメーションの再生(ON) SendMessage( hWnd, PBM_SETMARQUEE, TRUE, 更新間隔 ); // マーキー・アニメーションの停止(OFF) SendMessage( hWnd, PBM_SETMARQUEE, FALSE, 更新間隔 );
関連記事
- プログレスバー(最小値・最大値)
- プログレスバー(増分値)
- プログレスバー(現在位置)
- プログレスバー(背景色)
- プログレスバー(バー色)
- プログレスバー(バー状態)
- プログレスバー(マーキー操作)
- プログレスバー(まとめ)
※コメント投稿者のブログIDはブログ作成者のみに通知されます