戻る

6.ノートブック・コントロール


 ノートブック・コントロールは各種の設定等をグループ分けして扱う場合に便利なコントロールです。選択用の見出しが記入されたタブを持つ複数ページのノートブックのイメージで作成・表示されます。

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

 以下にマウスの右ボタンで表示されるポップアップメニューから指定できるデフォルトのスタイルを示します。
       次ページ表示位置
Top Left
 左上に表示。
Bottom Left
 左下に表示。
Top Right
 右上に表示。
Bottom Right
 右下に表示。
    メジャー・タブの位置指定
Right
 右側に表示。
Left
 左側に表示。
Top
 上側に表示。
Bottom
 下側に表示。
    タブ・タイプの選択
Square
 正方形
Rounded
 丸縁
Polygon
 多角形
    バインディング・タイプの選択
Solid
 ソリッドタイプの表示を指定。
Spiral
 スパイラルタイプの表示を指定。
Left justify
 左揃え
Right justify
 右揃え
Center
 中央揃え
Left justify
 左揃え
Right justify
 右揃え
Center
 中央揃え
Visible
 コントロールを作成と同時に可視状態に指定する。
Disabled
 コントロールを使用禁止状態に指定する。
Group
 現在のダイアログ内でグループを構成する。
Tabstop
 タブキーによる選択肢に含まれるようにする。

6-2.取得イベント

 ノートブック・コントロールでは、以下のイベントに対してコードを設定し、動作を決定します。
取得イベント
Select ページが選択される際に発生
Size コントロールのサイズが変更される際に発生
Delete ページが削除される際に発生
Init ダイアログオープン時にコントロールが初期化される際に発生
Help ヘルプ表示の要求により発生
Drop オブジェクトがドロップされる際に発生

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

 各々のコントロールには、そのコントロールを操作する為の専用のファンクションが用意されています。以下にノートブック・コントロールで使用可能なファンクションを示します。
Addノートブックに新しいページを追加します。
result = Dialog.Control.Add( [page] [, "First" | "Last" | "Next" | "Previous"] [, dialog] [, tab] [, status] [, data] )
First:最初に追加
Last:最後に追加
Next:現在のページの直後に追加
Previous:現在のページの直前に追加
dialogで指定したダイアログをページとして挿入する。
tabで指定したページを作成する。
statusでステータスラインを指定。
dataで任意データを関連付ける。
Deleteノートブックのページを削除します。
rc = Dialog.Control.Delete( [page] )
Selectページの選択状態を取得/設定します。
oldPage = Dialog.Control.Select( [newPage] )
Itemページ・アイテムの内容を取得/設定します。
result = Dialog.Control.Item( [page ] [, "Tab" | "Status" | "Data"] [, value] ] )
Tab:タブ指定。
Status:ステータスライン指定。
Data:関連データ指定。
valueで任意データを指定。
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]


戻る