キャンバスコントロールを背景として使用して、キャンバスコントロール上に矩形コントロール、線コントロール、およびグラフィックテキストコントロールの各ダイアログエレメントを描画できます。 これらのダイアログエレメントは情報を "視覚化" します。 例えば、ランタイム時に数個の矩形コントロールを作成し、色を付けてサイズを変更できます。 この方法で、ユーザー独自のバーチャートを構築できます。
ダイアログにキャンバスコントロールを作成すると、キャンバスコントロール上に矩形、線、およびグラフィックテキストの各コントロールを作成できるようになります。
注意:
グラフィックテキストコントロールは、このコントロールが置かれる矩形の背景を再描画しません。 矩形の背景は、グラフィックテキストコントロールの作成時に指定します。 再描画されるのは、テキスト属性で指定されたテキストだけです。
キャンバスコントロール上にダイアログエレメントを作成するには
PROCESS GUI
ステートメントの ADD
アクションを使用します。
ダイアログ内に一度キャンバスコントロールを作成すると、矩形、線およびグラフィックテキストの各コントロールをその上に作成できます。これらのコントロールがキャンバスの境界線を越える場合は切り取られます。
キャンバスコントロールおよびキャンバスコントロール上に置かれるダイアログエレメントの動作を制御するには、以下の属性が有効です。
OFFSET-X
および OFFSET-Y
を使用して、矩形、線、およびグラフィックテキストの各コントロールがキャンバスコントロールの境界線を越えたエリアの上部の境界線に対する、キャンバスコントロールの上部の境界線の X/Y 軸のオフセットを指定します。
RECTANGLE-X
、RECTANGLE-Y
、RECTANGLE-W
、および RECTANGLE-H
を使用して、矩形コントロールのサイズと、背景となるキャンバスコントロールに対する相対的な位置を指定します。
P1-X
、P1-Y
、P2-X
、および P2-Y
を使用して、背景となるキャンバスコントロールに対する線コントロールの相対的な開始位置(P1xx)と終了位置(P2xx)を指定します。
以下の例は、キャンバスコントロールの作成方法を示しています。
/* In the dialog's local data area, the following must be defined: 01 #CNV1 HANDLE OF CANVAS 01 #XAX HANDLE OF LINE 01 #YAX HANDLE OF LINE 01 #H1 HANDLE OF RECTANGLE 01 #H2 HANDLE OF RECTANGLE 01 #H3 HANDLE OF RECTANGLE 01 #H4 HANDLE OF RECTANGLE 01 #RESPONSE (I4) /* In the dialog's AFTER-OPEN event handler, the following must be defined: PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #DLG$WINDOW TYPE = CANVAS HANDLE-VARIABLE = #CNV1 RECTANGLE-X = 20 RECTANGLE-Y = 20 RECTANGLE-W = 200 RECTANGLE-H = 200 STYLE = 'F' END-PARAMETERS GIVING RESPONSE PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #CNV1 TYPE = LINE HANDLE-VARIABLE = #YAX STYLE = 'S' P1-X = 20 P1-Y = 20 P2-X = 20 P2-Y = 180 END-PARAMETERS GIVING RESPONSE PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #CNV1 TYPE = LINE HANDLE-VARIABLE = #XAX P1-X = 180 P1-Y = 180 P2-X = 20 P2-Y = 180 END-PARAMETERS GIVING RESPONSE PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #CNV1 TYPE = RECTANGLE HANDLE-VARIABLE = #H1 RECTANGLE-X = 20 RECTANGLE-Y = 180 RECTANGLE-H = 20 RECTANGLE-W = -60 FOREGROUND-COLOUR-NAME = BLACK BACKGROUND-COLOUR-NAME = RED END-PARAMETERS GIVING RESPONSE PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #CNV1 TYPE = RECTANGLE HANDLE-VARIABLE = #H2 RECTANGLE-X = 40 RECTANGLE-Y = 180 RECTANGLE-H = 20 RECTANGLE-W = -40 FOREGROUND-COLOUR-NAME = BLACK BACKGROUND-COLOUR-NAME = BLUE END-PARAMETERS GIVING RESPONSE PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #CNV1 TYPE = RECTANGLE HANDLE-VARIABLE = #H3 RECTANGLE-X = 60 RECTANGLE-Y = 180 RECTANGLE-H = 20 RECTANGLE-W = -55 FOREGROUND-COLOUR-NAME = BLACK BACKGROUND-COLOUR-NAME = GREEN END-PARAMETERS GIVING RESPONSE PROCESS GUI ACTION ADD WITH PARAMETERS PARENT = #CNV1 TYPE = RECTANGLE HANDLE-VARIABLE = #H4 RECTANGLE-X = 80 RECTANGLE-Y = 180 RECTANGLE-H = 20 RECTANGLE-W = -80 FOREGROUND-COLOUR-NAME = BLACK BACKGROUND-COLOUR-NAME = MAGENTA END-PARAMETERS GIVING RESPONSE