戻る

7.コンテナ・コントロール


 コンテナ・コントロールは、複数のアイテムをアイコン・ビューやツリー表示し、それぞれの選択や内容の変更を行うものです。

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

 以下にマウスの右ボタンで表示されるポップアップメニューから指定できるデフォルトのスタイルを示します。
       選択方法の選択
Extended
 拡張選択方式を指定。
Multiple
 複数選択方式を指定。
Single
 単一選択方式を指定。
Auto position
 アイコン・ビューの場合、位置決めを自動で行う。
Mini record
 コンテナ・レコードを本来より小さいものとして扱う。
Verify pointers
 ポインタがリンクリストに含まれるかどうかを検査する。
Read only
 変更不可の指定。
Visible
 コントロールを作成と同時に可視状態に指定する。
Disabled
 コントロールを使用禁止状態に指定する。
Group
 現在のダイアログ内でグループを構成する。
Tabstop
 タブキーによる選択肢に含まれるようにする。

7-2.取得イベント

 コンテナ・コントロールでは、以下のイベントに対してコードを設定し、動作を決定します。
取得イベント
Changed アイテムの内容を変更する際に発生
EventData.1 変更されたアイテム
EventData.2 変更されたアイテムのフィールド
Enter コンテナ上でエンターキーかダブルクリックの入力によって発生
EventData.1 選択されたアイテム
Select アイテムが選択され強調表示される際に発生
EventData.1 強調表示されたアイテム
EventData.2 強調状態を示す次の文字列
+SELECT アイテムは選択された。
-SELECT アイテムは非選択となった。
+MARK アイテムはマークされた。
-MARK アイテムのマークは解除された。
+CURSOR アイテム上にカーソルがある。
-CURSOR アイテム上にカーソルは無い。
ShowMenu マウスの右ボタンによるメニューの表示要求で発生
EventData.1 クリックされたアイテム
Init ダイアログオープン時にコントロールが初期化される際に発生
Scroll コンテナがスクロールする際に発生
GetFocus コントロールが入力フォーカスを得る際に発生
LoseFocus コントロールが入力フォーカスを失う際に発生
Drop オブジェクトがドロップされる際に発生

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

 各々のコントロールには、そのコントロールを操作する為の専用のファンクションが用意されています。以下にコンテナ・コントロールで使用可能なファンクションを示します。
Addコンテナに新しいアイテムを追加します。
item = Dialog.Control.Add( label [, bitmap]
[, "First" | "Last" | "Next"] [, item]
[, data] )
First:最初に追加
Last:最後に追加
Next:現在位置の直後に追加
Deleteコンテナのアイテムを削除します。
rc = Dialog.Control.Delete( [item] )
Itemコンテナのアイテムの内容を取得/設定します。
result = Dialog.Control.Item( [item
[, "Value" | "Bitmap" | "Data" | column ]
[, value]] )
Value:指定アイテムの項目の内容
Bitmap:指定アイテムのビットマップ
Data:指定アイテムに関連付けられたデータ
column番目のアイテムを指定
  • 全項目数の取得
    rc = Dialog.Control.Item()
Selectコンテナ・アイテムの選択状態を取得/設定します。
result = Dialog.Control.Select( [item [, "[+/-]Select" | "[+/-]Mark" | "Cursor" | "Next"] ] )
Select:指定アイテムを選択(+)/非選択(-)
Mark:指定アイテムをマーク(+)/マーク解除(-)
Cursor:カーソル位置を選択
Next:指定アイテムの次の選択項目
  • 現在の選択アイテムを取得
    rc = Dialog.Control.Select()
  • item1を選択状態に設定
    CALL Dialog.Control.Select item1 "+Select"
Viewコンテナのビューを取得/設定します。
oldView = Dialog.Control.View(
["Bitmap" | "Name" | "Flowedname" | "Text" | "Column" | "Detail" | "Outline" | "Hierarchy"]
[, ["<|>_;"]title]
[, cxBitmap, cyBitmap]
[, expandBitmap, collapseBitmap] )
Bitmap:アイコン表示
Name:シングルカラムのアイコン表示
Flowedname:複数カラムのアイコン表示
Text:シングルカラムの名前のみの表示
Column:複数カラムの名前のみの表示
Detail:詳細表示
Outline:アウトライン表示
Hierarchy:階層表示
  • 詳細表示でタイトルを"No Data"(左詰め)に指定
    rc = Dialog.Control.View "Detail","<_;||No Data"
SetStemコンテナの内容を設定します。
CALL Dialog.Control.SetStem( [stem]
[, "[+/-]Select" | "[+/-]Mark" | "Format" | 0 | item ] )
Select:項目を選択(+)/非選択(-)する。
Mark:項目をマーク(+)/マーク解除(-)する。
Format:ステム変数の内容によって書式設定
0:ステム変数の内容をタイトルとして設定
  • コンテナの書式を設定
    format.0 = 3
    format.1 = "|_!"
    format.2 = "|_!"
    format.3 = ".|_!"
    Call Dialog.Control.SetStem "Format", "F"
  • コンテナにタイトルを設定
    title.0 = 3
    title.1 = "名前"
    title.2 = "郵便番号"
    title.3 = "住所"
    Call Dialog.Control.SetStem "Title", 0
GetStemコンテナの内容を取得します。
CALL Dialog.Control.GetStem( [stem]
[, "Select" | "Mark" | "Cursor" | 0 |
item ] )
Select:現在選択されている内容
Mark:現在マークされている内容
Cursor:カーソル位置の内容
0:列のタイトル(詳細表示時)
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(
item [, newDragData] )
DragData(type[,type,...,type][:format][=data])
typeは、OS/2の使用可能タイプ(ファイルの場合)か、任意のタイプ。
formatは、STRINGかFILEを指定。省略時はSTRING。
dataは、ドロップ先に渡したい文字列。
  • コントロールのアイテムを"Custom"タイプとしてドラッグ可能に指定
    CALL Dialog.Control.Drag item, "Custom"
  • コントロールのアイテムをドラッグ不可に指定
    CALL Dialog.Control.Drag item, ""
Dropコントロールへのドロップを可能/不可能にします。
oldDropData = Dialog.Control.Drop(
item [, 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 item, "Custom"
  • コントロールへのドロップを不可に指定
    CALL Dialog.Control.Drop item, ""
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]


戻る