<<< 前へ   TOP   次へ>>>


ダイアログ定義セクション

#DLGで始まるセクションです。
サブルーチン関数キーアサインで使用する、ユーザー定義ダイアログを記述します。
ダイアログは16384個まで定義可能です。それ以上定義した場合、コンパイルエラーになります。


定義の仕方

定義の仕方は以下の通りです。

 #DLG ダイアログ名([[VAR] 引数,[...]]) {
   ダイアログパーツ記述文;
   ....
 }

ダイアログ名はA-Z,0-9,_で構成される、60文字までの文字列です。ただし、先頭に数字は使用できません。また、以後に述べる判定式やシステム手続きと同じ名前は使用できません。

 例)
  #DLG TestDlg()
  {
    Dialog {
      size : 100,100,200,150;
      font : 'Terminal',10;
      caption : 'Button Test';
    };
    Button {
      size : 3,3,20,10;
      caption : '&Yes';
      value : 1;
    };
  }

  #DLG WorkDlg(var $data)
  {
    Dialog {
      size : 50,50,150,80;
      font : 'Terminal',10;
      caption : 'Edit Test';
    };
    Edit {
      result: $data;
      size : 10,10,130,15;
      limit : 255;
      mask : '';
      Default : 'default string';
    };
    Button {
      size : 65,50,20,10;
      caption : '&Done';
      value : 1;
    };
  };

ver 3.06以降、サブルーチンやユーザー定義関数と同様にFORWARDキーワードを使用することができます。

 例)
  #DLG TestDlg(); FORWARD;

  #KEY A
  {
    ...
    TestDlg();
    ...
  }

  #DLG TestDlg()
  {
    ...
  }

使い方

ここで定義したダイアログはサブルーチンやキーアサイン定義内で使用できます。

 例)
 #DLG SelectCD(var #no)
 {
   Dialog {
   };
   RadioButton {
   };
   Button {
   };
   Button {
   };
 };

 #SUB RadioTest()
 {
   var #no,$work;
   SelectCD(#no);
   IF (#_RESULT==-1) { ExitProc(); }; // Dialogがキャンセルされた
   IntToStr($work,#no);
   ShowMessage('You Choice No.'+$work,'test',0);
 };

ダイアログパーツ記述文

#DLGセクションでは、以下の「ダイアログパーツ記述文」のみ使用できます。
注意
「ダイアログパーツ記述文」で使用する数字は32bitで表せる範囲内の数字である必要が有ります。


Dialog

 Dialog {
   size       : 数字1,数字2,数字3,数字4;
   clientsize : 数字1,数字2,数字3,数字4;
   font       : 文字列1,数字1;
   caption    : 文字列;
 }

ダイアログ本体の設定をします。

size
ダイアログの大きさを指定します。数字1・数字2はSASFを基準にした、左上の座標です。数字3・数字4はダイアログの幅・高さになります。
clientsize
ダイアログの大きさを指定します。数字1・数字2はSASFを基準にした、左上の座標です。数字3・数字4はダイアログのクライアント領域の幅・高さになります。
font
使用するフォントを指定します。文字列1でフォント名を、数字1で大きさを指定します。
caption
ダイアログのタイトルです。

Edit

 Edit {
   result       : 文字列変数;
   size         : 数字1,数字2,数字3,数字4;
   limit        : 数字;
   mask         : 文字列;
   default      : 文字列;
   ret          : 数字;
   filenamecomp : 数字;
   curpos       : 数字;
   sellength    : 数字;
   autosel      : 数字;
   focus;
 }

(1行)エディタの設定です。result 以外の項目は省略可能です。

result
エディタに入力した文字列が格納される文字列変数を指定します。
size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
limit
入力できる最大の文字数を指定します。デフォルトは制限なし(0を設定)です。
mask
入力文字をマスクするときに指定してください。1文字のみ使用可能です。
default
デフォルトで表示する文字列を指定します。
ret
Edit上でリターンキーを押したとき、確定させるかどうかを指定します。-1を設定した場合、リターンキーを押してもダイアログは閉じません。-1以外の場合、#_RESULTに指定した値を格納してダイアログは閉じます。
filenamecomp
特定のキーを押すことで、ファイル名補完を行うことを指定します。特定のキーはSetFilenameCompleteKey手続きで設定することができます。
数字は補完対象となるファイルの種類を指定します。
bit 0ファイル
bit 1フォルダ
bit 2共有名
bit 3サーバー名
curpos
初期のカーソル位置を指定します。文字列の先頭が0になります。sellengthを指定すると、実際のカーソルの位置はcurpos+sellengthになります。
sellength
初期の選択状態を指定します。curposからsellengthで指定した部分を選択状態にします。
autosel
Editがフォーカスを持ったときに全選択状態にするかどうかを指定します。デフォルトでは全選択状態になります。
0を指定するとこの機能は無効になります。0以外は有効になります。
curposやsellengthを使用するときは0を指定しておいてください。
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。

ComboBox

 ComboBox {
   result       : 文字列変数;
   size         : 数字1,数字2,数字3,数字4;
   limit        : 数字;
   type         : 数字;
   default      : 文字列;
   history      : 文字列;
   ret          : 数字;
   autocomp     : 数字;
   filenamecomp : 数字;
   focus;
 }

コンボボックスの設定です。result 以外の項目は省略可能です。

result
コンボボックスに入力した文字列が格納される文字列変数を指定します。
size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
limit
入力できる最大の文字数を指定します。デフォルトは制限なし(0を設定)です。
type
リスト形式にするかどうかを指定します。1を指定するとリスト形式になり、エディットすることができなくなります。デフォルトでは通常の形式です。
default
デフォルトで表示する文字列を指定します。
history
ドロップダウンリストに登録するヒストリを指定します。登録する項目は改行(\0d+\0a)で区切っておいてください。
ret
Edit上でリターンキーを押したとき、確定させるかどうかを指定します。-1を設定した場合、リターンキーを押してもダイアログは閉じません。-1以外の場合、#_RESULTに指定した値を格納してダイアログは閉じます。
autocomp
オートコンプリートを有効にするかどうかを指定します。
0を指定すると無効、0以外で有効になります。
デフォルトでは有効です。
filenamecomp
特定のキーを押すことで、ファイル名補完を行うことを指定します。特定のキーはSetFilenameCompleteKey手続きで設定することができます。
数字は補完対象となるファイルの種類を指定します。
bit 0ファイル
bit 1フォルダ
bit 2共有名
bit 3サーバー名
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。

Button

 Button {
   size    : 数字1,数字2,数字3,数字4;
   caption : 文字列;
   value   : 数字;
   focus;
    elevation;
 }

ボタンの設定です。result 以外の項目は省略可能です。
!!!注意!!!
ボタンは押されると必ずダイアログが閉じます。

size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
caption
ボタンに表示される文字です。
Value
押されたときに#_RESULTに設定される数字を指定します。
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。
elevation
ボタンにシールドアイコンを表示させます。尚、この項目が有効なのはVISTA以降です。

RadioButton

 RadioButton {
   result  : 変数;
   size    : 数字1,数字2,数字3,数字4;
   caption : 文字列;
   column  : 数字;
   items   : 文字列;
   default : 数字;
   focus;
 }

ラジオボタンの設定です。result 以外の項目は省略可能です。

result
何番目がチェックされているかを格納する変数を指定します。最初の項目は0になります。
size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
caption
はラジオボタンのタイトルを指定します。
column
列数の指定です。デフォルトは1列です。
items
項目を指定します。各項目は改行(\0d+\0a)で区切って指定してください。
default
最初に選択されている項目の番号を指定します。最初の項目の番号は0になります。
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。

CheckBox

 CheckBox {
   result  : 変数;
   size    : 数字1,数字2,数字3,数字4;
   caption : 文字列;
   default : 数字;
   focus;
 }

チェックボックスを設定します。result 以外の項目は省略可能です。

result
何番目がチェックされているかを格納する変数を指定します。最初の項目は0になります。
size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
caption
チェックボックスのテキストを指定します。
default
チェックの状態を指定します。1ならばチェックされている、1以外はチェックされていない状態になります。
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。

Memo

 Memo {
   result   : 文字列変数;
   size     : 数字1,数字2,数字3,数字4;
   default  : 文字列;
   readonly : 数字;
   focus;
 }

メモを設定します。result 以外の項目は省略可能です。

result
入力されたテキストを格納する文字列変数を指定します。
size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
default
最初に表示されるテキストを指定します。
readonly
内容の変更を許可するかどうかを指定します。1を指定すると変更されないようにします。その他は変更を許します。
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。

Label

 Label {
   size    : 数字1,数字2,数字3,数字4;
   caption : 文字列;
   color   : 数字;
   align   : 数字;
 }

ラベルを設定します。全て省略可能です。

size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
caption
テキストを指定します。
color
色を指定します。0x00RRGGBBの形で指定してください。デフォルトは黒です。
align
文字のアジャストを指定します。
中央
右寄せ
その他左寄せ(default)

Bevel

 Bevel {
   size : 数字1,数字2,数字3,数字4;
   type : 数字;
 }

枠を設定します。全て省略可能です。

size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
type
形状を指定します。
箱型・盛り上がっている
枠線・引っ込んでいる
枠線・盛り上がっている
その他箱型・引っ込んでいる(default)

ListBox

 ListBox {
   result : 文字列変数;
   size   : 数字1,数字2,数字3,数字4;
   column : 数字;
   items  : 文字列;
   multi  : 数字;
   ret    : 数字;
   focus;
   onekey : 数字
 }

リストボックスを設定します。result以外は省略可能です。

result
選択された項目を「文字列」の形で格納する、文字列変数を指定します。multi selectを指定した場合、改行で区切られた形で選択された番号が格納されます。先頭の項目の番号は0になります。
size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
column
列数を指定します。
items
項目を指定します。各項目は改行(\0d+\0a)で区切ってください。
multi
複数選択を可能にするかどうかを指定します。1を設定すると複数選択可能になります。1以外は不可になります。デフォルトは不可です。
ret
リターンを押したときに確定させるかどうかを指定します。
-1を設定すると、確定しません。-1以外を設定すると、リターンを押すと確定します。そのときret に設定した値が#_RESULTに格納されます。
focus
ダイアログが開いたとき、最初にフォーカスの当たっている状態にしたいときに指定します。
onekey
リストボックスの先頭の文字を押したとき、該当するリストが一つしかない場合はその項目を選択して確定させます。複数該当するものがある場合は確定させません。確定した場合、#_RESULTに指定した数字が入ります。このとき、数字に-1を指定するとキャンセル扱いになるので注意してください。

GroupBox

 GroupBox {
   size    : 数字1,数字2,数字3,数字4;
   caption : 文字列;
   Dialog以外のダイアログパーツ;
 }

グループボックスを設定します。全て省略可能です。

size
大きさを指定します。数字1・数字2はダイアログを基準した左上の座標です。数字3・数字4はダイアログの幅・高さになります。
caption
グループボックスのタイトルを指定します。
ダイアログパーツ
Dialog以外全てが使用できます。GroupBox内で指定したパーツのsizeの、左上の座標の原点はこのGroupBox左上になります。

<<< 前へ   TOP   次へ>>>