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

前へ | 次へ | 目次 | 索引

# SMG$LOAD_VIRTUAL_DISPLAY

> Load a Virtual Display from a File ルーチンは，新しい仮想ディスプレイを作成し， SMG$SAVE_VIRTUAL_DISPLAY ルーチンを使用して保存した仮想ディスプレイを新しい仮想ディスプレイにロードします。

## 形式

> SMG$LOAD_VIRTUAL_DISPLAY display-id [,filespec]

## 戻り値

> ###

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

## 引数

> ### display-id

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

> 保存されている仮想ディスプレイがロードされる新しい仮想ディスプレイの識別子。 display-id 引数は，新しい仮想ディスプレイ識別子が書き込まれる符号なしロングワードのアドレスです。

> ### filespec

> OpenVMS 用法 | char_string
> データ型 | character string
> アクセス | read only
> 受け渡し方 | by descriptor

> 指定された仮想ディスプレイが保存されているファイルのファイル指定を格納した文字列。filespec 引数はファイル指定を格納した文字列です。

> filespec 引数を省略した場合には，SMG$LOAD_VIRTUAL_DISPLAY ルーチンは省略時のファイル指定としてSMGDISPLY.DATを検索します。

## 説明

> SMG$LOAD_VIRTUAL_DISPLAY ルーチンは新しい仮想ディスプレイを作成し， SMG$SAVE_VIRTUAL_DISPLAY ルーチンを使用して保存した仮想ディスプレイを，その新しい仮想ディスプレイにロードします。新しい仮想ディスプレイには，保存されている仮想ディスプレイからテキスト，ビデオ属性，文字集合，およびディスプレイ属性がロードされますが，メニュー，ビューポート，およびサブプロセスの内容はロードされません。新しい仮想ディスプレイはペーストボードにペーストされません。

## 戻される状態値

> SS$_NORMAL | 正常終了。
> SMG$_INVDIS_ID | display-id 引数に誤りがあります。
> SMG$_xxxx | SMG$CREATE_VIRTUAL_DISPLAYルーチンから戻された条件値。
> RMS$_xxxx | $OPEN，$CONNECT，$PUT，および $CLOSEから戻されたエラー。

# SMG$MOVE_TEXT

> Move Text from One Virtual Display to Another ルーチンは，1 つの仮想ディスプレイから別の仮想ディスプレイにテキスト領域を移動します。長方形の対角線上の2つの角を指定することにより，SMG$MOVE_TEXT ルーチンはテキストの幅と高さを判断します。

## 形式

> SMG$MOVE_TEXT display-id ,top-left-row ,top-left-column ,bottom-right-row ,bottom-right-column ,display-id2 [,top-left-row2] [,top-left-column2] [,flags]

## 戻り値

> ###

> 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 ルーチンによって与えられます。

> ### top-left-row

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

> 移動するテキスト領域の左上行。 top-left-row 引数は，行の位置を格納した符号なしロングワードのアドレスです。

> ### top-left-column

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

> 移動するテキスト領域の左上カラム。 top-left-column 引数は，カラム位置を格納した符号なしロングワードのアドレスです。

> ### bottom-right-row

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

> 移動するテキスト領域の右下行。 bottom-right-row 引数は，行の位置を格納した符号なしロングワードのアドレスです。

> ### bottom-right-column

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

> 移動するテキスト領域の右下カラム。 bottom-right-column 引数は，カラム位置を格納した符号なしロングワードのアドレスです。

> ### display-id2

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

> テキスト移動先の仮想ディスプレイの識別子。 display-id 引数は，仮想ディスプレイの識別子を格納した符号なしロングワードのアドレスです。

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

> ### top-left-row2

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

> テキストの移動先領域の右上行。 top-left-row2 引数は省略可能で，行の位置を格納した符号なしロングワードのアドレスです。この引数を省略した場合は，テキストは現在仮想カーソルが設定されている行に移動されます。

> ### top-left-column2

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

> テキストの移動先領域の左上カラム。 top-left-column2 引数は省略可能で，カラム位置を格納した符号なしロングワードのアドレスです。この引数を省略した場合は，テキストは仮想カーソルが現在設定されているカラムに移動されます。

> ### flags

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

> 動作指定ビット・マスク。 flags 引数は省略可能で，フラグを格納した符号なしロングワードのアドレスです。指定されたテキストを移動する際にどのような動作を実行するかを指定します。この引数に対して指定できる値は次のとおりです。

> SMG$M_TEXT_ONLY | テキストだけを移動し，属性を移動しないことを指定します。
> SMG$M_TEXT_SAVE | 移動の後，テキストを消去しないことを指定します。

## 説明

> SMG$MOVE_TEXT ルーチンは，1 つの仮想ディスプレイから別の仮想ディスプレイにテキスト領域を移動します。移動の対象となる領域は，top-left-row 引数， top-left-column 引数，bottom-right-row 引数， bottom-right-column 引数で指定します。仮想カーソルの位置は変更されません。

> 図 8-29 テキスト移動のための引数

テキスト領域は，宛先となる仮想ディスプレイの現在の仮想カーソルの行およびカラムに移動されます。別の位置にテキストを移動する場合は，省略可能な top-left-row2 引数と top-left-column2 引数を使用します。

システム設定値では，最初(移動元)の仮想ディスプレイの属性も移動され，テキスト領域を移動した後，テキストは最初の仮想ディスプレイから消去されます。これらのシステム設定値を変更する場合は flags 引数を使用します。

DEC漢字または Super DEC 漢字文字集合を使用している際に，移動操作の結果として全角文字が半分ずつに分割される場合は，全角文字の分割された各部分は未定義文字になります。

## 戻される状態値

> SS$_NORMAL | 正常終了。
> SMG$_INVCOL | カラム位置が誤っています。
> SMG$_INVDIS_ID | display-id 引数が誤っています。
> SMG$_INVROW | 行の位置が誤っています。
> SMG$_WRONUMARG | 引数の数が誤っています。

# SMG$MOVE_VIRTUAL_DISPLAY

> Move Virtual Display ルーチンは，ペーストボード上で仮想ディスプレイを移動しますが，ペースト順序は変更しません。

## 形式

> SMG$MOVE_VIRTUAL_DISPLAY

> - display-id

> - ,pasteboard-id

> - ,pasteboard-row

> - ,pasteboard-column

> - [,top-display-id]

## 戻り値

> ###

> 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 ルーチンによって与えられます。

> ### pasteboard-id

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

> 移動操作が実行されるペーストボードを指定します。pasteboard-id 引数は，ペーストボード識別子を格納した符号なしロングワードのアドレスです。

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

> ### pasteboard-row

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

> 指定された仮想ディスプレイの，新しい位置を示すペーストボードの行番号を指定します。 pasteboard-row 引数は，行番号を格納した符号付きロングワードのアドレスです。

> ### pasteboard-column

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

> 指定された仮想ディスプレイの新しい位置を示すペーストボードのカラム番号を指定します。pasteboard-column 引数は，カラム番号を格納した符号付きロングワードのアドレスです。

> ### top-display-id

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

> 移動する display-id 引数がペーストされるときに，そのディスプレイの上になる仮想ディスプレイの識別子。top-display-id 引数は，仮想ディスプレイ識別子を格納した符号なしロングワードのアドレスです。 top-display-id 引数を使用できるのは，display-id 引数によって指定される仮想ディスプレイが現在ペーストされておらず， top-display-id 引数によって指定される仮想ディスプレイがペーストされている場合だけです。

## 説明

> SMG$MOVE_VIRTUAL_DISPLAY ルーチンは，仮想ディスプレイを現在の位置から指定された位置に移動し，仮想ディスプレイがペーストされている場合には，ペースト順序をそのまま保存します。移動されるディスプレイが現在ペーストされていない場合には， SMG$MOVE_VIRTUAL_DISPLAY ルーチンは，ユーザに対して 2 つのオプションを示します。省略時の設定では，SMG$MOVE_VIRTUAL_DISPLAY ルーチンはペースト順序の 1 番上の，指定された位置に仮想ディスプレイをペーストします。

> しかし，top-display-id 引数が指定された場合には， SMG$MOVE_VIRTUAL_DISPLAY ルーチンは移動する仮想ディスプレイを， top-display-id 引数によって指定される仮想ディスプレイの下にペーストします。この場合には，top-display-id 引数によって指定される仮想ディスプレイはすでにペーストされていなければなりません。

> ディスプレイを異なるペーストボード間で移動することはできません。それにもかかわらず，pasteboard-id 引数を指定しなければならないのは，特定の仮想ディスプレイを複数のペーストボードにペーストできるからです。

> 仮想ディスプレイがバッチ処理される場合には，このルーチンを使用してはいけません。

## 戻される状態値

> SS$_NORMAL | 正常終了。
> SMG$_ILLBATFNC | ディスプレイがバッチ処理されています。 誤操作です。
> SMG$_INVDIS_ID | display-id 引数に誤りがあります。
> SMG$_INVPAS_ID | pasteboard-id 引数に誤りがあります。
> SMG$_WRONUMARG | 引数の数が誤っています。

## 例

> SMG$REPASTE_VIRTUAL_DISPLAY ルーチンに示されている FORTRAN プログラムの例を参照してください。

# SMG$NAME_TO_KEYCODE

> Translate a Key Name into a Key Code ルーチンは，キーボードのキーのキー名を対応するキー・コードに変換します。

## 形式

> SMG$NAME_TO_KEYCODE key-name ,key-code

## 戻り値

> ###

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

## 引数

> ### key-name

> OpenVMS 用法 | char_string
> データ型 | character string
> アクセス | read only
> 受け渡し方 | by descriptor

> キー・コードに変換されるキーの名前を格納した文字列。key-name 引数は，キー名を格納した文字列を示すディスクリプタのアドレスです。 key-name 引数は単なるキーの名前であり，たとえば，COMMA，PERIOD， KP4 などです。

> ### key-code

> OpenVMS 用法 | word_unsigned
> データ型 | word (unsigned)
> アクセス | write only
> 受け渡し方 | by reference

> key-name 引数を変換した後のキー・コードが書き込まれます。 key-code 引数は，キー・コードを格納する符号なしワードのアドレスです。

> key-code 引数は，SMG$READ_COMPOSED_LINE，SMG$READ_KEYSTROKE， SMG$READ_STRING，SMG$READ_VERIFY ルーチンによって与えられる word-terminator-code 引数と同じです。

## 説明

> SMG$NAME_TO_KEYCODE ルーチンは，キーボードのキーのキー名を対応するキー・コードに変換します。このキー・コードは，SMG$READ_COMPOSED_LINE，SMG$READ_KEYSTROKE， SMG$READ_STRING，SMG$READ_VERIFY ルーチンから word-terminator-code 引数に戻されるコードと同じです。このルーチンから戻されるキー・コードの形式は SMG$K_TRM_keynameです。たとえば，キー名として ENTER を指定した場合には，このルーチンから戻されるキー・コードは SMG$K_TRM_ENTER です。

> 終了文字コードについての詳しい説明は， 第 3 章 の 表 3-1 を参照してください。

## 戻される状態値

> SS$_NORMAL | 正常終了。
> SMG$_INVKEYNAM | key-name 引数に誤りがあります。

前へ | 次へ | 目次 | 索引