戻る

11.コンボボックス・コントロール


 コンボボックス・コントロールは、リストボックス・コントロールとシングルライン・エディット・コントロールを合せたような機能を持ち、リストからの選択と直接の入力をサポートしています。


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

 以下にマウスの右ボタンで表示されるポップアップメニューから指定できるデフォルトのスタイルを示します。
       コンボボックスのスタイルの指定
Simple
 ドロップダウンリストを常に表示。
Drop down
 指定時のみドロップダウンリストを表示。直接編集可能。
Drop down list
 指定時のみドロップダウンリストを表示。直接編集不可。
    リストボックスのスタイルの指定
Horizontal scroll bar
 水平スクロール・バーを付加する。
    コントロールの基本スタイルの指定
Visible
 コントロールを作成と同時に可視状態に指定する。
Disabled
 コントロールを使用禁止状態に指定する。
Group
 現在のダイアログ内でグループを構成する。
Tabstop
 タブキーによる選択肢に含まれるようにする。

11-2.取得イベント

 コンボボックス・コントロールでは、以下のイベントに対してコードを設定し、動作を決定します。
取得イベント
Enter コントロールにエンターキーかダブルクリックが入力された際に発生
Select コントロールから選択が行われた際に発生
Init ダイアログオープン時にコントロールが初期化される際に発生
Changed 入力フィールドが変更された際に発生
ScrollEntry 入力フィールドが水平方向にスクロールした際に発生
ScrollList リストボックスがスクロールした際に発生
ShowList ドロップダウンリストが表示された際に発生
Drop オブジェクトがドロップされる際に発生

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

 各々のコントロールには、そのコントロールを操作する為の専用のファンクションが用意されています。以下にコンボボックス・コントロールで使用可能なファンクションを示します。
Addコンボボックスに新しいアイテムを追加します。
result = Dialog.Control.Add(
item
[, "Ascending" | "Descending" | "Last" | n]
[, data] )
Ascending:昇順指定
Descending:降順指定
Last:最後に追加
n:n番目に追加
dataでアイテムに関連付けるデータを指定
Deleteコンボボックスのアイテムを削除します。
rc = Dialog.Control.Delete( [index] )
Itemアイテムの内容を取得/設定します。
result = Dialog.Control.Item(
[index [, "Value" | "Data" ] [, value] ] )
Value:アイテムの項目名
Data:アイテムに関連付けられたデータ
Selectコントロールの選択状態を取得/設定します。
oldIndex = Dialog.Control.Select(
[newIndex
[, "Select" | "Unselect" | "Next" | "Top" ] ] )
Select:Indexで指定された項目を選択
Unselect:Indexで指定された項目を選択解除
Next:Indexで指定された次の項目
Top:指定項目を先頭へ移動
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]

戻る