スピンコントロールの使い方

すぐ忘れてしまうのでメモ.GUI デザイン部分は ResEdit Resource Editor を使用する事を想定しています.

  1. ダイアログ上に Edit Control と Spin Control を作成する.
  2. Dialog → Tab order wizard で Spin Control を取り付ける Edit Control のタブオーダーを Spin Control の直前にする(初期設定だと Spin Control の ID は表示されないので,Display all controls にチェックを入れる).
  3. Edit Control の Behavior → Read Only を TRUE に変更する(スピンコントロールによる操作のみで,ユーザに直接,数値を入力させたくない場合).
  4. Spin Control の Behavior → Set Buddy Integer を TRUE に変更する.
  5. Spin Control の Appearance → Alignment を 右 に変更する.
  6. Spin Control の Behavior → Auto Buddy を TRUE に変更する.

これで,取りあえずスピンコントロールを使用できるようになりました.

その他,よく使用するメッセージを列挙.

HWND spin = GetDlgItem(hWnd, IDC_SPINCONTROL1);
SendMessage(spin, UDM_SETRANGE, 0, MAKELONG(max, min)); // 指定できる範囲を設定
SendMessage(spin, UDM_SETPOS, 0, MAKELONG(value, 0));   // 表示する値を設定
SendMessage(spin, UDM_GETPOS, 0, 0);                    // 現在表示されている値を取得