戻る

16.スライダー・コントロール


 電気製品のレベル調整用スライダーのようなコントロールです。

16-1.コントロール・スタイル

 以下にマウスの右ボタンで表示されるポップアップメニューから指定できるデフォルトのスタイルを示します。
  

Owner Draw
 全てのドローを通知する。
Read Only
 スライダーを読取り専用とする。(操作不可)
Snap to Increment
 設定された値に自動的に調整する。
Ribbon Strip
 ホーム位置からの移動分のシャフトを特定カラーで塗る。
Horizontal
 スライダーを水平に配置する。
(Vertical)
 スライダーを垂直に配置する。
Bottom(Left)
 スライダーを左端または最下部に配置する。
Center
 スライダーを中央に配置する。
Top(Right)
 スライダーを右端または最上部に配置する。
Left(Bottom)
 ボタンを左または最下部に配置する。
None
 ボタン位置を制御しない。
Right(Top)
 ボタンを右または最上部に配置する。
Left(Bottom)
 基準値を左端または最下部とする。
Right(Top)
 基準値を右端または最上部とする。
Ruler 1
 スケールを上か右に表示する。
Ruler 2
 スケールを下か左に表示する。
Visible
 コントロールを作成と同時に可視状態に指定する。
Disabled
 コントロールを使用禁止状態に指定する。
Group
 現在のダイアログ内でグループを構成する。
Tabstop
 タブキーによる選択肢に含まれるようにする。

16-2.取得イベント

 スライダー・コントロールでは、以下のイベントに対してコードを設定し、動作を決定します。
取得イベント
Init ダイアログオープン時にコントロールが初期化される際に発生
Changed スライダーを放した際に発生
Changing スライダーの位置を変更した際に発生
GetFocus コントロールが入力フォーカスを得る際に発生
LoseFocus コントロールが入力フォーカスを失う際に発生
Drop オブジェクトがドロップされる際に発生

16-3.ウィンドウ・ファンクション

 各々のコントロールには、そのコントロールを操作する為の専用のファンクションが用意されています。以下にスライダー・コントロールで使用可能なファンクションを示します。
Rangeスライダーの目盛の範囲を設定します。
result = Dialog.Control.Range( ticks1 [, spacing1] [ticks2 [, spacing2]] )
ticks1:主目盛
ticks2:副目盛
spacing1,spacing2:目盛間の間隔
Itemスライダーのラベルとサイズを設定します。
oldValue = Dialog.Control.Item( [tick] [, "Value" | "Size"] [, newValue] )
Value:ラベル名
Size:ラベルサイズ
Selectスライダーの位置を取得/設定します。
oldTick = Dialog.Control.Select( [newTick] )
Styleコントロールのスタイルマスクを取得/設定します。
oldStyle = Dialog.Control.Style( [newStyle] )
Fontテキストのフォントを取得/設定します。
oldFont = Dialog.Control.Font( [newFont] )
Colorコントロールのカラー属性を設定/取得します。
oldColor = Dialog.Control.Color( [attribute [, newColor]] )
attribute(+:前景, -:背景, A:アクティブ, |:非アクティブ, H:ハイライト, D:ディセーブル, T:テキスト, M:メニュー, B:ボーダー)
Color("#index"か、"#red green blue"の形式が使用可能。RGBは0~255で指定)
  • アクティブ・テキストの前景色を黒にする場合
    oldColor = Dialog.Control.Color("AT+", "#0 0 0")
IDコントロールのウィンドウIDを取得します。
id = Dialog.Control.ID()
Positionコントロールの位置とサイズを取得/設定します。
result = Dialog.Control.Position( [x [, y [, dx [, dy] ] ] ] )
x:X座標, y:Y座標, dx:幅, dy:高さ
Dragコントロールのドラッグを可能/不可能にします。
oldDragData = Dialog.Control.Drag( [newDragData] )
DragData(type[,type,...,type][:format][=data])
typeは、OS/2の使用可能タイプ(ファイルの場合)か、任意のタイプ。
formatは、STRINGかFILEを指定。省略時はSTRING。
dataは、ドロップ先に渡したい文字列。
  • コントロールを"Custom"タイプとしてドラッグ可能に指定
    CALL Dialog.Control.Drag "Custom"
  • コントロールをドラッグ不可に指定
    CALL Dialog.Control.Drag ""
Dropコントロールへのドロップを可能/不可能にします。
oldDropData = Dialog.Control.Drop( [newDropData] )
DropData(type[,type,...,type][:format][=operation])
typeは、OS/2の使用可能タイプ(ファイルの場合)か、任意のタイプ、あるいはANY。
formatは、ドロップされるデータをSTRINGかFILE、ANYで指定。省略時はSTRING。
operationは、ファイルのドロップ時に受入れる動作を指定します。MOVE(移動)、COPY(コピー)、LINK(シャドウの作成)、あるいはANY(全て)です。
  • "Custom"タイプのコントロールのみドロップ可能に指定
    CALL Dialog.Control.Drop "Custom"
  • コントロールへのドロップを不可に指定
    CALL Dialog.Control.Drop ""
Visibleコントロールの可視属性を取得/設定します。
oldState = Dialog.Control.Visible( [newState] )
State(0:不可視,1:可視)
Enabledコントロールの活動状態を取得/設定します。
oldState = Dialog.Control.Enabled( [newState] )
State(0:Disabled,1:Enabled)
Hideコントロールを非表示状態にします。
CALL Dialog.Control.Hide ["Update" | "Noupdate"]
Update:直ちに非表示状態にします。(デフォルト)
Noupdate:非表示にはしませんが、Showコマンドが使われるまで更新を抑制します。
Showコントロールを表示状態にします。
CALL Dialog.Control.Show
Topコントロールを最前面に移動します。
CALL Dialog.Top
Bottomコントロールを最背面に移動します。
CALL Dialog.Bottom
Enableコントロールを活動状態にします。
CALL Dialog.Control.Enable
Disableコントロールを非活動状態にします。
CALL Dialog.Control.Disable
Focusコントロールに入力フォーカスを与えます。
CALL Dialog.Control.Focus
IsDefaultコントロールを現在のデフォルトにします。
CALL Dialog.Control.IsDefault ["Object" | "Say"]
Object:コントロールを現在のデフォルトにします。
Say:コントロールをSAYコマンドの出力先に指定します。
Dialoghint:コントロールをダイアログに定義されたヒントの出力先に指定します。
Controlhint:コントロールを各コントロールに定義されたヒントの出力先にします。
Controls全てのコントロールのリストを取得します。
CALL Dialog.Control.Controls [stem]
Classes全てのコントロール・クラスのリストを取得します。
CALL Dialog.Control.Classes [stem]


戻る