プログラミングのメモ帳(C/C++/HSP)

日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP)

プログレスバー(最小値と最大値)

2011年09月19日 15時20分01秒 | コントロール関連

プログレスバーの最小値と最大値を取得/設定する方法です。(戻る)

  • 最小値/最大値の取得(PBM_GETRANGE)
  • 16ビット値で最小値/最大値の設定(PBM_SETRANGE)
  • 32ビット値で最小値/最大値の設定(PBM_SETRANGE32)

最小値と最大値の取得

プログレスバーに PBM_GETRANGE を送ることで最小値と最大値を取得できます。

引数/戻り値 データ型 意味 備考
uMsg PBM_GETRANGE 最小値/最大値の取得 Windows 2000 以降
wParam BOOL 最小値/最大値の指定 FALSE:最大値
TRUE:最小値
lParam PBRANGE* PBRANGE構造体へのポインタ 省略時:NULL
戻り値 INT 現在の最小値/最大値 現在の最小値(wParam=TRUE時)
現在の最大値(wParam=FALSE時)
(MSDN資料へ)

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

16ビット値で最小値と最大値の設定

プログレスバーに PBM_SETRANGE を送ることで最小値と最大値を16ビット値で設定します。

引数/戻り値 データ型 意味 備考
uMsg PBM_SETRANGE 16ビット値で最小値/最大値の設定 Windows 2000 以降
wParam 0 なし
lParam DWORD MAKELPARAM(最小値、最大値)
LOWORD:最小値(0~65535)
HIWORD:最大値(0~65535)
MAKELPARAM(0、100)
最小既定値:0
最大既定値:100
戻り値 DWORD 以前の最小値/最大値 最小値:LOWORD(戻り値)
最大値:HIWORD(戻り値)
(MSDN資料へ)

// 16ビット値で最小値と最大値の設定
DWORD dwRange = SendMessage( hWnd, PBM_SETRANGE, 0, MAKELPARAM(最小値,最大値) );

最小値:LOWORD(dwRange)
最大値:HIWORD(dwRange)

32ビット値で最小値と最大値の設定

プログレスバーに PBM_SETRANGE32 を送ることで最小値と最大値を32ビット値で設定します。

引数/戻り値 データ型 意味 備考
uMsg PBM_SETRANGE32 32ビット値で最小値/最大値の設定 Windows 2000 以降
wParam DWORD 最小値(0~4294967295) 既定値:0
lParam DWORD 最大値(0~4294967295) 既定値:100
戻り値 DWORD 以前の最小値/最大値 最小値:LOWORD(戻り値)
最大値:HIWORD(戻り値)
(MSDN資料へ)

// 32ビット値で最小値と最大値の設定
DWORD dwRange = SendMessage( hWnd, PBM_SETRANGE32, 最小値, 最大値 );

最小値:LOWORD(dwRange)
最大値:HIWORD(dwRange)

関連記事



コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« プログレスバーの使い方 | トップ | プログレスバー(増分値) »
最新の画像もっと見る

コメントを投稿

コントロール関連」カテゴリの最新記事