ダイアログ

ダイアログ・コンポーネントを使用して、デフォルトのレンダリングによるホスト画面上のモーダル (ポップアップ) フレームの認識を支援できます。

ダイアログ・コンポーネントの概念とは、モーダル・ダイアログを使用して作業していることを前提として、境界の記述に対応する、カーソルを囲む長方形の最も小さな領域を検出することです。モーダル・ダイアログは、開いている間、入力フォーカスを維持します。ユーザーは、別のウィンドウに切り替えるには、ダイアログを閉じるか、またはダイアログにすべてを入力する必要があります。

データを入力してモーダル・ダイアログを完了する際に、ZIETrans ではカーソルがダイアログの境界線内に位置していることを前提とします。ZIETrans は、「垂直境界文字」設定で定義されている有効な垂直境界文字を、画面上のカーソル文字の座標から開始し、左側へ検索します。有効な左側の垂直境界文字が検出されると、ZIETrans は同一カーソル座標へ戻り、右側に向かって有効垂直境界文字を検索します。カーソル座標の左右両側で有効垂直境界文字が検出されると、ZIETrans はこの 2 つの文字の間の距離を計測し、有効な長さであることを確認します。

ZIETrans はまた、垂直境界文字の検索と同様の方法で、「水平境界文字」設定で定義されている上下の水平境界文字も検索します。

ダイアログ・ウィンドウは長方形であるため、ZIETrans では左右の境界線の列と、上下の境界線の行を使用して、列がモーダル・ダイアログの垂直条件に対応しているかどうか、および行がモーダル・ダイアログの水平条件に対応しているかどうかを判別します。「最小行数」属性が満たされていることを前提として、長方形の外側の行と列が位置合わせされると、ダイアログ・コンポーネントはそのウィンドウを一致として宣言し、認識される領域がレンダリングされます。

このコンポーネントを構成するには、ZIETrans プロジェクトの「プロジェクト設定」を表示し、「レンダリング」タブを選択して「デフォルト・レンダリング」をクリックします。
注: ダイアログ・コンポーネントは、デフォルトのレンダリングでのみ使用可能です。

ダイアログ・コンポーネントは、ダイアログ・ウィジェットを使用してレンダリングされます。

次の図に、ホスト画面上のダイアログ・コンポーネントの表示例を示します。
図 1. ダイアログ・コンポーネントの例
ダイアログ・コンポーネントの例
  1. 水平境界文字
  2. 垂直境界文字
  3. カーソルをダイアログ内に配置

以下の設定が、このコンポーネントに対して構成できます。

水平境界文字
ダイアログの上下の境界として使用する文字を指定します。デフォルトでは、水平境界文字として保護反転表示文字、ピリオド (.)、ハイフン (-)、アンダースコアー (_) のいずれかを使用できます。複数の文字を使用する場合は、各文字を縦線 (|) で区切ります。これらの文字は、左から右へ順に評価されます。
垂直境界文字
ダイアログの左右の境界として使用する文字を指定します。デフォルトでは、垂直境界文字として保護反転表示文字、コロン (:)、縦線 (|) のいずれかを使用できます。複数の文字を使用する場合は、各文字を縦線 (|) で区切ります。これらの文字は、左から右へ順に評価されます。
注: 縦線 (|) は複数の文字を指定するときの分離文字として使用されるため、垂直境界文字として縦線 (|) を指定するには、&vl. を使用してください。
このコンポーネントの「水平境界文字」「垂直境界文字」設定には、文字だけでなく、境界文字のフィールド属性も指定できます。フィールドの属性を指定するときに使用するインディケーターを以下に示します。各フィールドの指定を、中括弧 ({...}) で囲みます。各インディケーターをスペースで区切ります。否定 (NOT) を示すには、インディケーターの前に接頭部として感嘆符 (!) を追加します。インディケーターと感嘆符の間にはスペースを入れないでください。 例:{!p hi no} は、無保護の強調表示された数値のみのフィールドを示します。
注:
  1. 境界文字のフィールド属性を指定するときに、指定部分の直前にデータがある場合は、指定内容はそのデータの修飾子となります。例:
    • {p rv} は、任意の保護されている反転表示文字に一致します。
    • :{p rv} は、保護されている 1 つの反転表示コロンに一致します。
    • {p rv}: は、任意の保護されている反転表示文字に一致します。これは、コロンがフィールド指定の後に位置されていることから、コロンには反映されないためです。
  2. フィールド属性定義の中のインディケーターの順序は関係ありません。これは、中括弧内のすべてのインディケーターは、認識される境界文字に対し一致する必要があるためです。
最小行数
ダイアログとして認識するために領域に含まれる必要がある最小行数。デフォルトは、3 です。
最小列数
ダイアログとして認識するために領域に含まれる必要がある最小列数。デフォルトは、3 です。
カーソルをダイアログ内に配置
ダイアログとして認識される領域内にカーソルを配置する必要があるかどうかを指定します。これを選択しない場合は、ダイアログとして認識される領域内にカーソルが配置されている必要はありません。モーダル・ダイアログの場合は、予期しない結果が生じることがあります。
ダイアログ外部対話の許可
境界の外側のエリアを使用不可にするかどうかを指定します。
注: ダイアログ境界内部のテキストの置換は、ダイアログ・コンポーネントの設定で定義することはできません。ダイアログ・コンポーネント自体は、ダイアログ・ウィンドウの境界 (まわりのボックス) でしかありません。境界内の内容は、デフォルト・レンダリングのその他のコンポーネントによってレンダリングされます。ダイアログの内容のテキスト置換を実行するために、ダイアログの内容をレンダリングするデフォルト・レンダリング項目のテキスト置換を指定できます。例えば、フィールド・コンポーネントに対しテキスト置換を指定できます。ダイアログ・コンポーネントとその他のコンポーネントを組み合わせた正確な表示を取得するには、「全ページのプレビュー」をクリックします。