戻る

24.バッグボタン・コントロール


 バッグボタン・コントロールは、押しボタンの一種で、他のコントロールを内部に表示する事ができるコントロールです。

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

 以下にマウスの右ボタンで表示されるポップアップメニューから指定できるデフォルトのスタイルを示します。
  
    ボタンのスタイルを指定
Pushbutton
 ボタンが押されている間のみON。
Clicker
 ボタンが押されている間のみON。但し、押し続けるとClicker Speedで指定された速度に従ってイベントが発生する。
Check box
 ボタンを押す度にON/OFFをスイッチ。
Radio button
 同一グループ内で最後に押されたボタンがONとなる。
    Clickerモードでのスピード調整
Slow
 低速。
Medium
 中速。
Fast
 高速。
Fastest
 最高速。
    テキストの水平位置指定
Left
 左揃え
Center
 中央揃え
Right
 右揃え
    テキストの垂直位置指定
Top
 上付き
Center
 中央
Bottom
 下付き
    コントロールの基本スタイルの指定
Visible
 コントロールを作成と同時に可視状態に指定する。
Disabled
 コントロールを使用禁止状態に指定する。
Group
 現在のダイアログ内でグループを構成する。
Tabstop
 タブキーによる選択肢に含まれるようにする。
    LED表示の形式選択
None
 表示無し。
Round
 丸型表示。
Rectangular
 四角形表示
    LEDのカラーを4色から選択     見かけのサイズを指定
Border width
 ボタンのボーダー表示の幅を指定。
Window shift
 ボタンが押された時の表示のシフト量を指定。

24-2.取得イベント

 バッグボタン・コントロールでは、以下のイベントに対してコードを設定し、動作を決定します。
取得イベント
Click コントロールがクリックされる際に発生
Init ダイアログオープン時にコントロールが初期化される際に発生
Drop オブジェクトがドロップされる際に発生

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

 各々のコントロールには、そのコントロールを操作する為の専用のファンクションが用意されています。以下にバッグボタン・コントロールで使用可能なファンクションを示します。
Selectコントロールの選択状態を取得/設定します。
oldState = Dialog.Control.Select( [newState] )
State(0:チェックされていない,1:チェックされている,2:不確定)
Textコントロールのテキストを取得/設定します。
oldLabel = Dialog.Control.Text( [newLabel] )
Styleコントロールのスタイルマスクを取得/設定します。
oldStyle = Dialog.Control.Style( [newStyle] )
Fontテキストのフォントを取得/設定します。
oldFont = Dialog.Control.Font( [newFont] )
Font("サイズ.名前"の形式で指定)
  • フォントを10ポイントのクーリエに設定する場合
    CALL Dialog.Control.Font("10.Courier")
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]

戻る