コントロール指標

ダイアログ・コントロールの指標値は,DLGSET 関数の DLGSETDLGSETINTDLGSETLOGDLGSETCHAR,および DLGSETSUB によって設定されます。コントロール名とコントロール指標名は DLGSET 関数への引数で,どのコントロール指標を設定するのかを指定します。次に例を示します。

	retlog = DlgSet( dlg, IDC_SCROLLBAR_TEMPERATURE, 45, DLG_POSITION )

指標 DLG_POSITION は,スクロールバーの位置を 45 に設定することを指定しています。次に別の例を示します。

	retlog = DlgSet( dlg, IDC_SCROLLBAR_TEMPERATURE, 200, DLG_RANGEMAX)

この文の指標 DLG_RANGEMAX は,スクロールバーの最大範囲を 200 に設定することを指定しています。DLGSET 関数は次の構文を持ちます。

result = DLGSET (dlg, control_name, value, control_index_name)

control_index_nameDLGSET 関数の value の意味を決定します。

コントロール指標名はモジュール DFLOGM.MOD で宣言されており,プログラマがルーチン中で宣言してはなりません。次表は,使用可能なコントロール指標と,それらが value 引数の解釈をどのように指定するかを示しています。

コントロール指標 値の解釈
DLG_ADDSTRING DLGSETCHAR との組み合わせで,リストボックスまたはコンボボックスに項目を追加します。
DLG_BIGSTEP ユーザーがスクロールバーまたはスライダーのスライドの横をクリックした時のスクロールバーまたはスライダーの位置移動量 (基本値は 10)。
DLG_CHANGE ユーザーがコントロールを変更し,コントロールが画面上で更新された後に呼び出されるサブルーチン。
DLG_CLICKED コントロールがマウス・クリックを受け取った時に呼び出されるサブルーチン。
DLG_DBLCLICK コントロールがダブルクリックされた時に呼び出されるサブルーチン。
DLG_DEFAULT コントロール指標を指定しない場合と同じ。
DLG_ENABLE コントロールの有効状態 (value=.TRUE. は有効,value=.FALSE. は無効)。
DLG_GAINFOCUS エディットボックスが入力フォーカスを受け取った時に呼び出されるサブルーチン。
DLG_IDISPATCH ActiveX コントロールのオブジェクト・ポインタ。
DLG_LOSEFOCUS エディットボックスが入力フォーカスを失った時に呼び出されるサブルーチン。
DLG_NUMITEMS リストボックス,コンボボックス,またはタブコントロールに含まれる項目数。
DLG_POSITION スクロールバー,スピン,スライダー,またはプログレスバーの現在位置。
DLG_RANGEMIN スクロールバー,スピン,スライダー,またはプログレスバー位置の最小値 (スクロールバーの基本値は 1,他コントロールの基本値は 0)。
DLG_RANGEMAX スクロールバー,スピン,スライダー,またはプログレスバー位置の最大値 (基本値は 100)。
DLG_SELCHANGE リストボックスまたはコンボボックスの選択項目が変更された時に呼び出されるサブルーチン。
DLG_SELCHANGING タブコントロールが変更される前に呼び出されるサブルーチン。このサブルーチン中で指標 DLG_STATE を指定して DLGGETINT を呼び出すと,変更前に活動状態だったタブを参照することができます。
DLG_SMALLSTEP ユーザーがキーボードの矢印キーを押した時のスライダーの位置移動量 (基本値は 1)。
DLG_STATE コントロールのユーザーによる変更が可能な状態。
DLG_TEXTLENGTH エディットボックスのテキストの長さ。
DLG_TICKFREQ スライダーの目盛り間隔 (基本値は 1)。
DLG_TITLE コントロールに関連付けられたタイトル文字。
DLG_UPDATE ユーザーがコントロールの状態を変更した後,コントロールが画面上で更新される前に呼び出されるサブルーチン。

ダイアログ・コントロールに関連付けられている指標名は,そのコントロールに同じ型の変数が複数存在しない場合や,基本変数を使う場合,使用する必要がありません。次に例を示します。

	retlog = DlgSet(dlg, IDC_SCROLLBAR_TEMPERATURE, 45, DLG_POSITION)
	retlog = DlgSet(dlg, IDC_SCROLLBAR_TEMPERATURE, 45)

これらの文は,どちらもスクロールバーの位置を 45 に設定します。これは,DLG_POSITION がスクロールバーの基本コントロール指標だからです。

ダイアログ指標

DLGSETSUB で指定するコントロール識別子は,ダイアログボックス識別子であってもかまいません。この場合,指標は次表に示す値でなくてはなりません。

ダイアログ指標 値の解釈
DLG_INIT ダイアログボックスが作成された後,そのダイアログボックスが表示される前 (callbacktype=DLG_INIT の場合) とダイアログボックスが破棄される直前 (callbacktype=DLG_DESTROY の場合) に呼び出されるサブルーチン
DLG_SIZECHANGE ダイアログボックスの大きさが変更された後呼び出されるサブルーチン

ダイアログ・コントロールについての詳細は,「個々のダイアログ・コントロールで使用できる指標」を参照してください。