ダイアログ・コントロールの指標値は,DLGSET 関数の DLGSET,DLGSETINT,DLGSETLOG,DLGSETCHAR,および 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_name は DLGSET 関数の 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 | ダイアログボックスの大きさが変更された後呼び出されるサブルーチン |
ダイアログ・コントロールについての詳細は,「個々のダイアログ・コントロールで使用できる指標」を参照してください。