日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
日本語 OpenVMS
|
目次 | 索引 |
SMG$LABEL_BORDER |
Label a Virtual Display Border ルーチンは,仮想ディスプレイの境界上のラベルを指定します。
SMG$LABEL_BORDER display-id [,text] [,position-code] [,units] [,rendition-set] [,rendition-complement] [,character-set]
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 ルーチンによって与えられます。
text
OpenVMS 用法 char_string データ型 character string アクセス read only 受け渡し方 by descriptor
境界上の新ラベル。 text 引数はラベル・テキストを示すディスクリプタのアドレスです。この引数を省略した場合は,仮想ディスプレイにラベルは表示されません。position-code
OpenVMS 用法 longword_unsigned データ型 longword (unsigned) アクセス read only 受け渡し方 by reference
ラベル付け位置。 position-code 引数は,位置コードを格納した符号なしロングワードのアドレスです。上下左右のどの境界にラベルを付けるかを指定します。この引数に対して指定できる値は次のとおりです。
SMG$K_TOP 上側境界にラベルを表示します。 SMG$K_BOTTOM 下側境界にラベルを表示します。 SMG$K_RIGHT 右側境界にラベルを表示します。 SMG$K_LEFT 左側境界にラベルを表示します。
この引数を省略した場合は,ラベルは上側境界上に表示されます。
注意
SMG$K_RIGHT と SMG$K_LEFTは,文字集合が DEC漢字または Super DEC 漢字文字集合のときは使用できません。
units
OpenVMS 用法 longword_signed データ型 longword (signed) アクセス read only 受け渡し方 by reference
境界上のラベル付け開始位置。 units 引数は文字位置を格納した符号付きロングワードのアドレスです。この引数を省略した場合は,ラベルは指定した境界上で中寄せされます。rendition-set
OpenVMS 用法 mask_longword データ型 longword (unsigned) アクセス read only 受け渡し方 by reference
属性指定子。 rendition-set 引数は省略可能で,ロングワード・ビット・マスクのアドレスです。この引数で指定する属性が仮想ディスプレイ上に設定されます。この引数に対して指定できる値は次のとおりです。
SMG$M_BLINK 点滅する文字を表示します。 SMG$M_BOLD 通常の輝度より高い輝度で文字を表示します。 SMG$M_INVISIBLE 表示されない文字を指定します。つまり,仮想ディスプレイに存在していても,ペーストボードに表示されない文字を指定します。 SMG$M_REVERSE 文字を反転表示します。つまり,仮想表示の現在のシステム設定値の属性とは逆の状態で表示します。 SMG$M_UNDERLINE 下線を付けた文字を表示します。 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 属性を無効にする。
character-set
OpenVMS 用法 longword_unsigned データ型 longword (unsigned) アクセス read only 受け渡し方 by reference
境界上にラベルとして置かれるテキストの文字集合。 character-set 引数は,文字集合コードを格納した符号なしロングワードのアドレスです。この引数を省略した場合,SMG$CREATE_VIRTUAL_DISPLAY ルーチンまたは SMG$CHANGE_VIRTUAL_DISPLAY ルーチンで設定された値が使用されます。
値 文字集合 (コードセット) SMG$C_ASCII ASCII文字集合 SMG$C_SPEC_GRAPHICS DEC特殊文字集合 SMG$C_SUPPLEMENTAL 補助文字集合 1 SMG$C_KANJI DEC漢字文字集合 SMG$C_JIS_KANA JISカタカナ文字集合 SMG$C_SDK Super DEC 漢字コードセット
SMG$LABEL_BORDER ルーチンは,仮想ディスプレイに表示するラベルのテキストを指定するために使用します。指定した仮想ディスプレイに境界表示属性(SMG$M_BORDER)が設定されていない場合は,この属性が強制的に設定されます。ラベル文字列を指定すると,現在のラベル・テキストと置き換えられます。空(null)のラベル文字列を指定した場合は,境界にラベルは表示されません。指定した位置からラベル・テキストを境界内に格納できない場合は,このルーチンは SMG$_INVARG を戻します。position-code 引数と units 引数は,境界内のラベル・テキストの開始位置を指定します。position-code 引数を省略した場合は,上側境界にラベルを表示します。units 引数を省略した場合は,ラベルの置かれる位置に応じて,水平方向または垂直方向にテキストを中寄せするように開始位置を選択します。position-code 引数と units 引数の両方を省略した場合には,テキストは上側境界内で中寄せされます。
垂直方向のラベルを使用できるのは,文字集合が SMG$C_ASCII と SMG$C_SPEC_GRAPHICS の場合のみです。
オリジナルの SMG ルーチンは,ASCII文字集合と DEC特殊文字集合のみをサポートします。日本語 SMG ではこの他に SMG$C_SUPPLEMENTAL,SMG$C_KANJI,SMG$C_JIS_KANA, SMG$C_SDK が指定できます。
SS$_NORMAL 正常終了。 SMG$_INVARG 引数が誤っています。 position-code 引数, units 引数, text 引数を組み合わせて使用した結果,その位置は境界領域の外部になります。 SMG$_INVDIS_ID display-id 引数が誤っています。 SMG$_WRONUMARG 引数の数が誤っています。
#1 |
---|
C+ C This FORTRAN example program demonstrates the use of SMG$LABEL_BORDER. C- C+ C Include the SMG definitions. In particular, we want SMG$M_BORDER, C SMG$K_TOP, SMG$K_BOTTOM, and SMG$K_RIGHT. C- IMPLICIT INTEGER (A-Z) INCLUDE '($SMGDEF)' C+ C Call SMG$CREATE_VIRTUAL_DISPLAY to create virtual display number 1. C Give it a border. C- ROWS = 4 COLUMNS = 30 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 1 (ROWS, COLUMNS, DISPLAY1, SMG$M_BORDER) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$CREATE_VIRTUAL_DISPLAY to create virtual display number 2. C Give it a border. C- ROWS = 3 COLUMNS = 30 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 1 (ROWS, COLUMNS, DISPLAY2, SMG$M_BORDER) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Create virtual display number 3. Do NOT give it a border. C- ROWS = 4 COLUMNS = 35 STATUS = SMG$CREATE_VIRTUAL_DISPLAY 1 (ROWS, COLUMNS, DISPLAY3) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Use SMG$CREATE_PASTEBOARD to create the pasteboard. C- STATUS = SMG$CREATE_PASTEBOARD (PASTE1) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$PUT_CHARS to put data into the virtual displays. C- STATUS = SMG$PUT_CHARS ( DISPLAY1, 1 ' A bordered virtual display.', 2, 1 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY2, 1 ' A bordered virtual display.', 1, 1 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PUT_CHARS ( DISPLAY3, 1 ' Started as an unbordered display.', 2, 1 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$LABEL_BORDER to label the virtual display borders. C- STATUS = SMG$LABEL_BORDER ( DISPLAY1, 'Side', SMG$K_RIGHT ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$LABEL_BORDER ( DISPLAY2, 'LABEL Bottom', 1 SMG$K_BOTTOM, 1 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$LABEL_BORDER ( DISPLAY3, 'Forced bordering ', 1 SMG$K_TOP ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) C+ C Call SMG$PASTE_VIRTUAL_DISPLAY to paste the virtual displays. C- STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY1, PASTE1, 2, 10 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY2, PASTE1, 2, 45 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) STATUS = SMG$PASTE_VIRTUAL_DISPLAY ( DISPLAY3, PASTE1, 10, 5 ) IF (.NOT. STATUS) CALL LIB$SIGNAL(%VAL(STATUS)) END |
このプログラムから生成される出力は 図 8-28 に示すとおりです。
図 8-28 SMG$LABEL_BORDER ルーチンを呼び出すプログラムが生成する出力
SMG$LIST_KEY_DEFS |
List Key Definitionsルーチンは,1度に1つずつ,指定されたキー・テーブル内の指定されたキーに対応する定義(同値文字列)を戻します。
SMG$LIST_KEY_DEFS key-table-id ,context [,key-name] [,if-state] [,attributes] [,equivalence-string] [,state-string]
OpenVMS 用法 cond_value データ型 longword(unsigned) アクセス write only 受け渡し方 by value
key-table-id
OpenVMS 用法 identifier データ型 longword(unsigned) アクセス read only 受け渡し方 by reference
キー定義が検索されるキー・テーブルを指定します。 key-table-id 引数は,キー・テーブル識別子を格納した符号なしロングワードのアドレスです。この引数は SMG$CREATE_KEY_TABLE ルーチンによって与えられます。
context
OpenVMS 用法 context データ型 longword(unsigned) アクセス modify 受け渡し方 by reference
キー・テーブルから一連のキー定義を検索するための方法を指定します。 context 引数は,コンテキスト変数を格納した符号なしロングワードのアドレスです。このルーチンを最初に呼び出す場合には,context 引数を 0 に設定しておかなければなりません。context 引数は,SMG$LIST_KEY_DEFS ルーチンによって 1 つずつ加算されます。したがって次の呼び出しでは,次のキー定義が戻されます。
key-name
OpenVMS 用法 char_string データ型 character string アクセス modify 受け渡し方 by descriptor
値のリストを表示するキーを指定します。key-name 引数は,キー名を示すディスクリプタのアドレスです。if-state
OpenVMS 用法 char_string データ型 character string アクセス write only 受け渡し方 by descriptor
キー・テーブル内の次の定義を条件指定する状態名が書き込まれます。 if-state 引数は,状態名が書き込まれる文字列を示すディスクリプタのアドレスです。attirbutes
OpenVMS 用法 mask_longword データ型 longword(unsigned) アクセス write only 受け渡し方 by reference
このキー定義の属性。attributes 引数は,キー属性が書き込まれる符号なしロングワードのアドレスです。属性は次のとおりです。
SMG$M_KEY_NOECHO このビットが設定されている場合には,このキーが押されたときに, equiv-string 引数がエコー表示されないことを指定します。 このビットがクリアされている場合には, equiv-string 引数はエコー表示されます。SMG$M_KEY_TERMINATE が設定されていない場合には,SMG$M_KEY_NOECHO は無視されます。
SMG$M_KEY_TERMINATE このビットが設定されている場合には,このキーが押されたときに( if-state 引数の条件指定にしたがって),入力行は終了し,追加文字が受け付けられないことを指定します。 このビットがクリアされている場合には,追加文字を受け付けることができます。
SMG$M_KEY_LOCK このビットが設定されており, state-string 引数が指定されている場合には, state-string 引数によって指定された状態名は,定義に state-string 引数を含む後続のキーストロークによって明示的に変更されるまで,現在の状態のまま変更されません。 このビットがクリアされている場合には, state-string 引数によって指定された状態名は,次の定義済みキーストロークに対してのみ有効になります。
SMG$M_KEY_PROTECTED このビットが設定されている場合には,このキー定義を変更または削除できないことを指定します。 このビットがクリアされている場合には,キー定義を変更または削除できます。
equivalence-string
OpenVMS 用法 char_string データ型 character string アクセス write only 受け渡し方 by descriptor
次のキー定義に対する同値文字列が書き込まれる文字列。 equivalence-string 引数は,同値文字列が書き込まれる文字列を示すディスクリプタのアドレスです。state-string
OpenVMS 用法 char_string データ型 character string アクセス write only 受け渡し方 by descriptor
次のキー定義によって設定される新しい状態名が書き込まれる文字列。 state-string 引数は,状態名が書き込まれる文字列を示すディスクリプタのアドレスです。このキー定義が状態を設定する場合には,属性フラグ SMG$M_KEY_SETSTATE も設定されます。
SMG$LIST_KEY_DEFS ルーチンを繰り返し呼び出した場合には,キー・テーブル内のすべての定義を検索できます。これらのキー定義は,SMG$READ_COMPOSED_LINE ルーチンで使用できます。
SS$_NORMAL 正常終了。 SMG$_INVKEYNAM key-name 引数に誤りがあります。 SMG$_INVKTB_ID key-table-id 引数に誤りがあります。 SMG$_NOMOREKEYS このテーブル内にこれ以上キーは存在しません。 その他 LIB$SCOPY_DXDX から戻された状態値。
目次 | 索引 |
|