スライダ コントロールのメンバ関数
更新 : 2007 年 11 月
アプリケーションでは、スライダ コントロールのメンバ関数を呼び出して、スライダ コントロール (CSliderCtrl) に関する情報を取得したり、その特性を変更したりできます。
スライダの位置 (つまり、ユーザーが選択した値) を取得するには、GetPos メンバ関数を使用します。スライダの位置を設定するには、SetPos メンバ関数を使用します。VerifyPos メンバ関数を使用すると、スライダが最小値と最大値の間にあることをいつでも確認できます。
スライダ コントロールの範囲は、スライダ コントロールで表すことのできる一連の連続する値です。ほとんどのアプリケーションでは、最初の作成時に SetRange メンバ関数を使用して、スライダ コントロールの範囲を設定します。スライダ コントロールの作成後に、SetRangeMax メンバ関数および SetRangeMin メンバ関数を使用して、範囲を動的に変更することもできます。範囲を動的に変更できるアプリケーションでは、通常、ユーザーが最後にスライダ コントロールの操作を終了したときの範囲の設定値が取得されます。これらの設定値を取得するには、GetRange、GetRangeMax、および GetRangeMin の各メンバ関数を使用します。
TBS_AUTOTICKS スタイルを使用すると、スライダ コントロールの目盛りを自動的に表示できます。ただし、アプリケーションで目盛りの位置と数を制御する必要がある場合は、複数のメンバ関数を使用できます。
目盛りの位置を設定するには、SetTic メンバ関数を使用します。SetTicFreq メンバ関数を使用すると、スライダ コントロールの範囲内に目盛りを一定の間隔で設定できます。たとえば、アプリケーションでこのメンバ関数を使用すると、1 ~ 100 の範囲に 10 個の目盛りを表示できます。
目盛りに対応する、範囲内のインデックスを取得するには、GetTic メンバ関数を使用します。GetTicArray メンバ関数を使用すると、これらのインデックスの配列を取得できます。クライアント座標の目盛りの位置を取得するには、GetTicPos メンバ関数を使用します。GetNumTics メンバ関数を使用すると、目盛りの数を取得できます。
ClearTics メンバ関数を使用すると、スライダ コントロールの目盛りをすべて削除できます。
スライダ コントロールの行サイズによって、アプリケーションが TB_LINEDOWN 通知メッセージまたは TB_LINEUP 通知メッセージを受け取るときにスライダの移動する距離が決まります。同様に、用紙サイズによって、TB_PAGEDOWN 通知メッセージおよび TB_PAGEUP 通知メッセージに対する応答が決まります。アプリケーションでは、GetLineSize、SetLineSize、GetPageSize、および SetPageSize の各メンバ関数を使用して、行サイズと用紙サイズを取得または設定できます。
メンバ関数を使用して、スライダ コントロールの寸法を取得することもできます。GetThumbRect メンバ関数を使用すると、スライダの外接する四角形を取得できます。GetChannelRect メンバ関数を使用すると、スライダ コントロールのチャネルの外接する四角形を取得できます。チャネルとは、スライダが移動する領域であり、範囲が選択されると強調表示されます。
スライダ コントロールに TBS_ENABLESELRANGE スタイルが設定されている場合、ユーザーは連続する値の範囲をスライダ コントロールから選択できます。選択範囲は、複数のメンバ関数を使用して動的に調整できます。SetSelection メンバ関数を使用すると、選択範囲の開始位置と終了位置を設定できます。ユーザーによる選択範囲の設定が終了している場合は、GetSelection メンバ関数を使用して設定値を取得できます。ユーザーの選択範囲をクリアするには、ClearSel メンバ関数を使用します。