日本語 Compaq OpenVMS
日本語画面管理ライブラリ
利用者の手引き


前へ 次へ 目次 索引



SMG$CHANGE_PBD_CHARACTERISTICS
- Change Pasteboard Characteristics

Change Pasteboard Characteristics ルーチンは,ペーストボードに割り当てた属性を変更します。

形式

SMG$CHANGE_PBD_CHARACTERISTICS

pasteboard-id [,desired-width] [,width] [,desired-height] [,height] [,desired-background-color] [,background-color]


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数

pasteboard-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


属性を変更するペーストボードを指定します。pasteboard-id 引数は,ペーストボード識別子を格納した符号なしロングワードのアドレスです。

この引数は SMG$CREATE_PASTEBOARD ルーチンによって与えられます。

desired-width

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


ペーストボードの新しい幅。desired-width 引数は,希望する幅を格納した符号付きロングワードのアドレスです。この引数を省略した場合には,幅は変更されません。

width

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス write only
受け渡し方 by reference


ペーストボードの物理幅が書き込まれます。width 引数は,ペーストボードの実際の幅が書き込まれる符号付きロングワードのアドレスです。

漢字ターミナルの幅を正確に desired-width 引数に設定できない場合には,width 引数は desired-width 引数より大きくなる可能性があります。漢字ターミナルの物理幅が desired-width 引数より小さい場合には,width 引数が desired-width 引数より小さくなる可能性があります。

desired-height

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


ペーストボードの新しい高さ。desired-height 引数は,希望する高さを格納した符号付きロングワードのアドレスです。この引数を省略した場合には,高さは変更されません。

height

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス write only
受け渡し方 by reference


ペーストボードの物理的な高さが書き込まれます。height 引数は,ぺーストボードの実際の高さが書き込まれる符号付きロングワードのアドレスです。

漢字ターミナルが高さを正確に desired-height 引数に設定できない場合には,height 引数は desired-height 引数より大きくなる可能性があります。漢字ターミナルの物理的な高さが desired-height 引数より小さい場合には,height 引数は desired-height 引数より小さくなる可能性があります。

desired-background-color

OpenVMS 用法 longword_unsigned
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


希望する背景色のシンボル名。desired-background-color 引数は,希望する背景色を格納した符号なしロングワードのアドレスです。

次に示すシンボルは $SMGDEF に定義されています。 desired-background-color 引数に対して指定できる値は次のとおりです。

SMG$C_COLOR_WHITE 白の背景
SMG$C_COLOR_BLACK 黒の背景
SMG$C_COLOR_BLUE 青の背景
SMG$C_COLOR_CYAN 青緑の背景
SMG$C_COLOR_GREEN 緑の背景
SMG$C_COLOR_MAGENTA 紫の背景
SMG$C_COLOR_RED 赤の背景
SMG$C_COLOR_YELLOW 黄色の背景
SMG$C_COLOR_LIGHT 明るい背景
SMG$C_COLOR_DARK 暗い背景
SMG$C_COLOR_USER1 ユーザ定義背景色 1
SMG$C_COLOR_USER2 ユーザ定義背景色 2

desired-background-color 引数を省略した場合や,指定された背景色をターミナル・ハードウェアがサポートしない場合には,背景色は変更されません。

background-color

OpenVMS 用法 longword_unsigned
データ型 longword (unsigned)
アクセス write only
受け渡し方 by reference


選択された背景色が書き込まれます。background-color 引数は,背景色が書き込まれる符号なしロングワードのアドレスです。

このルーチンは,desired-background-color 引数の説明に示されている値,または SMG$C_COLOR_UNKNOWN を戻します。desired-background-color 引数を省略した場合には,background-color 引数の値は変更されません。


説明

SMG$CHANGE_PBD_CHARACTERISTICS ルーチンを使用すれば,ペーストボードに割り当てた幅,高さ,背景色を変更できます。

必要な場合には,このルーチンは,DCL の SHOW TERMINAL コマンドが入力されたときに表示されるターミナル属性を更新することにより,ペーストボード属性が変更されたことをOpenVMS オペレーティング・システムに通知します。

バッチ処理されるペーストボードに対して,SMG$CHANGE_PBD_CHARACTERISTICS ルーチンを使用することはできません。


戻される状態値

SS$_NORMAL 正常終了。
SS$_xxx $QIOW から戻されたエラー。
SMG$_INVCOLARG 指定された背景色が認識されません。
SMG$_INVPAGARG 希望する高さとして 0 を指定することはできません。
SMG$_INVWIDARG 希望する幅として 0 を指定することはできません。
SMG$_PBDIN_USE バッチ処理が有効に設定された状態でペーストボード属性を変更することはできません。
SMG$_WRONUMARG 引数の数が誤っています。


SMG$CHANGE_RENDITION
- Change Default _Rendition

Change Default Rendition ルーチンは,仮想ディスプレイ全体または一部のビデオ属性を変更します。

形式

SMG$CHANGE_RENDITION display-id ,start-row ,start-column ,number-of-rows ,number-of-columns [,rendition-set] [,rendition-complement]


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数

display-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


省略時の属性を変更する対象となる仮想ディスプレイを指定します。 display-id 引数は,ディスプレイ識別子を格納した符号なしロングワードのアドレスです。

この引数はSMG$CREATE_VIRTUAL_DISPLAYルーチンによって与えられます。

start-row

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


新しい属性を受け付ける開始行番号。start-row 引数は,開始行番号を格納した符号付きロングワードのアドレスです。

start-column

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


新しい属性を受け付ける開始カラム番号。start-column 引数は,開始カラム番号を格納した符号付きロングワードのアドレスです。 start-column 引数が全角文字の右半分である場合は,その文字の左半分も新しい属性になります。

number-of-rows

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


新しい属性を受け付ける行番号。number-of-rows 引数は,影響を受ける行番号を格納した符号付きロングワードのアドレスです。

number-of-columns

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


新しい属性を受け付けるカラム数。number-of-columns 引数は,影響を受けるカラム数を格納した符号付きロングワードのアドレスです。

rendition-set

OpenVMS 用法 mask_longword
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


属性指定子。rendition-set 引数は省略可能であり,ロングワード・ビット・マスクのアドレスです。このロングワード・ビット・マスク内の各属性を設定すると,ディスプレス内の対応する属性が設定されます。 rendition-set 引数を使用して以下の属性を指定できます。

SMG$M_BLINK 点滅する文字を表示します。
SMG$M_BOLD 通常の輝度より高い輝度で文字を表示します。
SMG$M_REVERSE 文字を反転表示します。つまり,仮想ディスプレイの現在の省略時のレンディションとは逆の状態で表示します。
SMG$M_UNDERLINE 下線を付けた文字を表示します。
SMG$M_INVISIBLE 表示されない文字を指定します。つまり,仮想ディスプレイに存在していても,ペーストボードに表示されない文字を表示します。
SMG$M_USER1からSMG$M_USER8 ユーザ定義属性を表示します。

rendition-complement

OpenVMS 用法 mask_longword
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


属性補足指定子。rendition-complement 引数は省略可能であり,ロングワード・ビット・マスクのアドレスです。このロングワード・ビット・マスク内の各属性を設定すると,ディスプレイ内の対応する属性が補足されます。 rendition-set 引数に指定できる属性はすべて, rendition-complement 引数で補足できます。

rendition-set 引数と rendition-complement 引数はどちらも省略可能な引数であり,これらの引数を組み合わせて使用すれば,ユーザは仮想ディスプレイの属性を制御できます。rendition-set 引数は特定の仮想ディスプレイ属性を設定します。それに対し,rendition-complement 引数はこれらの属性を補足します。rendition-set 引数と rendition-complement 引数の両方に同じビットが指定されている場合には,最初に rendition-set 引数が評価され,その後, rendition-complement 引数が評価されます。これらの2つの引数を組み合わせて使用すれば,1回のプロシージャ呼び出しで複数の仮想ディスプレイ属性を制御できます。各属性に対して,ユーザは次の組み合わせを指定できます。

設定 補足 動作
0 0 属性を省略時の状態に設定する。
1 0 属性をオンに設定する。
0 1 属性を省略時の逆の状態に設定する。
1 1 属性をオフに設定する。


説明

このルーチンは,指定された仮想ディスプレイ内にすでに存在する長方形のテキスト・ブロックの省略時のビデオ属性を変更します。たとえば,このルーチンを使用して特定の行を反転表示することができます。

DEC漢字文字集合が使用され, start-column 引数が全角文字の右半分である場合には,その文字の左半分も新しい属性になります。また,長方形が全角文字の左半分で終了する場合には,その文字の右半分も新しい属性になります。


戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVARG 行数またはカラム数が誤っているか, rendition-set 引数が認識されないか,または rendition-complement 引数が認識されません。
SMG$_INVCOL start-column 引数に誤りがあります。指定されたカラムは仮想ディスプレイの外部です。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_INVROW start-row 引数に誤りがあります。指定された行は仮想ディスプレイの外部です。
SMG$_NO_CHADIS 仮想ディスプレイは変更されませんでした。
SMG$_WRONUMARG 引数の数が誤っています。


SMG$CHANGE_VIEWPORT
- Change the Viewport Associated with a Virtual Display

Change the Viewport Associated with a Virtual Display ルーチンは,仮想ディスプレイ内の既存のビューポートのサイズを変更します。ビューポートに現在表示されているテキストは,新しいサイズに収まるように再マップされます。

形式

SMG$CHANGE_VIEWPORT display-id [,viewport-row-start] [,viewport-column-start] [,viewport-number-rows] [,viewport-number-columns]


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数

display-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


変更するビューポートを含む仮想ディスプレイの識別子。display-id 引数は,この識別子を格納した符号なしロングワードのアドレスです。

viewport-row-start

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


変更後のビューポートの 1 行目となる仮想ディスプレイの行番号(省略可能)。 viewport-row-start 引数は行番号を格納した符号付きロングワードのアドレスです。この引数を省略した場合には,現在の viewport-row-start 引数の値が使用されます。

viewport-column-start

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


変更後のビューポートで1カラム目となる仮想ディスプレイ内のカラム番号(省略可能)。 viewport-column-start 引数は,カラム番号を格納した符号付きロングワードのアドレスです。この引数を省略した場合には,現在の viewport-column-start 引数の値が使用されます。

viewport-column-start 引数で指定されたカラムが,全角文字の右半分であった場合には,そのカラムは表示されません。

viewport-number-rows

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


変更後のビューポートの行数(省略可能)。 viewport-number-rows 引数は,行数を格納した符号付きロングワードのアドレスです。この引数を省略した場合には,現在の viewport-number-rows 引数の値が使用されます。

viewport-number-columns

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


変更後のビューポートのカラム数(省略可能)。 viewport-number-columns 引数は,カラム数を格納した符号付きロングワードのアドレスです。この引数を省略した場合には,現在の viewport-number-columns 引数の値が使用されます。


説明

SMG$CHANGE_VIEWPORT ルーチンを使用すれば,仮想ディスプレイ内の既存のビューポートのサイズを変更できます。このビューポート内に現在表示されているテキストは,新しいサイズに収まるように再マッピングされ,viewport-row-start 引数と viewport-column-start 引数によって指定される位置から始まります。この位置はまた,仮想カーソルの新しい位置も指定します。

viewport-column-start 引数で指定されたカラムが,全角文字の右半分であった場合には,そのカラムは表示されません。また,ビューポートが全角文字の左半分で終了した場合にも,そのカラムは表示されません。


戻される状態値

SS$_NORMAL 正常終了。
SMG$_INVARG 行数またはカラム数が 0 より小さい値です。
SMG$_INVCOL 指定されたカラム番号に誤りがあります。
SMG$_INVDIS_ID display-id 引数に誤りがあります。
SMG$_INVROW 指定された行番号に誤りがあります。
SMG$_NO_WINASSOC 仮想ディスプレイにビューポートが対応づけられていません。
SMG$_WRONUMARG 引数の数が誤っています。


#1

C+ 
C This DEC FORTRAN example program demonstrates the use of 
C SMG$CHANGE_VIEWPORT. 
C- 
 
 IMPLICIT INTEGER (A-Z) 
 INCLUDE '($SMGDEF)' 
 
C Create the virtual display. Give it a border. 
 
 ROWS = 9 
 COLUMNS = 50 
 
 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 
     1         (ROWS, COLUMNS, DISPLAY1,SMG$M_BORDER ) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
C Create the pasteboard. 
 
 STATUS = SMG$CREATE_PASTEBOARD (PASTE1) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
C Put data in the virtual display. 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 1 in a virtual display with 9 rows.',1,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 2 in a virtual display with 9 rows.',2,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 3 in a virtual display with 9 rows.',3,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 4 in a virtual display with 9 rows.',4,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 5 in a virtual display with 9 rows.',5,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 6 in a virtual display with 9 rows.',6,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 7 in a virtual display with 9 rows.',7,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 8 in a virtual display with 9 rows.',8,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
 STATUS = SMG$PUT_CHARS ( DISPLAY1, 
 1 'This is row 9 in a virtual display with 9 rows.',9,1) 
 IF (.not. STATUS) CALL LIB$SIGNAL(%val(STATUS)) 
 
C Paste the virtual display. 
 
 STATUS = SMG$COPY_VIRTUAL_DISPLAY(DISPLAY1,DISPLAY2) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
 STATUS = SMG$LABEL_BORDER (DISPLAY1, 'Full Display',,,SMG$M_BOLD) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
 STATUS = SMG$LABEL_BORDER (DISPLAY2, 'Viewport',,,SMG$M_BOLD) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
 STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY1, PASTE1, 2, 10) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 
 STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY2, PASTE1, 13, 10) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 CALL LIB$WAIT (4.0) 
 
 STATUS = SMG$CREATE_VIEWPORT ( DISPLAY2, 2, 1, 5, 21) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 CALL LIB$WAIT (4.0) 
 
 STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY2, PASTE1, 13, 10) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 CALL LIB$WAIT (4.0) 
 
 STATUS = SMG$CHANGE_VIEWPORT ( DISPLAY2, 4, 8, 3, 15) 
 IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) 
 call lib$wait (4.0) 
 
 END 
 


前へ 次へ 目次 索引