| 
       
          Document revision date: 30 March 2001
      
     | 
  
 
  
    
![[Compaq]](../../images/compaq.gif)  | 
    
       
 
 
 
 
      
     | 
  
 
  
    
 
     | 
  
 
 
 
 
OpenVMS RTL Screen Management (SMG$) Manual
SMG$MOVE_VIRTUAL_DISPLAY
The Move Virtual Display routine relocates a virtual display on a 
pasteboard and preserves the pasting order.
Format
SMG$MOVE_VIRTUAL_DISPLAY display-id ,pasteboard-id ,pasteboard-row 
,pasteboard-column [,top-display-id]
RETURNS
  
    | OpenVMS usage:  | 
    cond_value | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by value | 
  
Arguments
display-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the virtual display to be moved. The 
display-id argument is the address of an unsigned 
longword that contains the display identifier.
The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
pasteboard-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the pasteboard on which the movement is to take place. The 
pasteboard-id argument is the address of an unsigned 
longword that contains the pasteboard identifier.
The pasteboard identifier is returned by SMG$CREATE_PASTEBOARD.
pasteboard-row
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the row of the pasteboard that is to contain row 1 of the new 
location of the specified virtual display. The 
pasteboard-row argument is the address of a signed 
longword that contains the row number.
pasteboard-column
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the column of the pasteboard that is to contain column 1 of 
the specified virtual display. The pasteboard-column 
argument is the address of a signed longword that contains the column 
number.
top-display-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Identifier of the virtual display under which the moving 
display-id will be pasted. The 
top-display-id argument is the address of an unsigned 
longword containing the specified virtual display identifier. Note that 
the use of the top-display-id argument is only valid 
when the virtual display specified by display-id is 
not currently pasted and the virtual display specified by 
top-display-id is pasted.
Description
SMG$MOVE_VIRTUAL_DISPLAY moves a virtual display from its current 
position to the specified position and, if the virtual display is 
pasted, preserves the pasting order. If the display being moved is not 
currently pasted, SMG$MOVE_VIRTUAL_DISPLAY presents the user with two 
options. By default, SMG$MOVE_VIRTUAL_DISPLAY pastes the display at the 
top of the pasting order in the position specified.
If, however, the optional argument top-display-id is 
specified, SMG$MOVE_VIRTUAL_DISPLAY pastes the virtual display being 
moved under the virtual display specified by 
top-display-id. In this case, the virtual display 
specified by top-display-id must already be pasted.
Note that a display cannot be moved from one pasteboard to another. 
However, the pasteboard-id is required because a given 
virtual display may be pasted to any number of pasteboards.
Do not use this routine if the virtual display is batched.
Condition Values Returned
  
    | 
      SS$_NORMAL
     | 
    
      Normal successful completion.
     | 
  
  
    | 
      SMG$_ILLBATFNC
     | 
    
      Display is being batched; illegal operation.
     | 
  
  
    | 
      SMG$_INVDIS_ID
     | 
    
Invalid
      display-id.
     | 
  
  
    | 
      SMG$_INVPAS_ID
     | 
    
Invalid
      pasteboard-id.
     | 
  
  
    | 
      SMG$_WRONUMARG
     | 
    
      Wrong number of arguments.
     | 
  
Example
Refer to the Fortran example shown in the SMG$REPASTE_VIRTUAL_DISPLAY routine.
SMG$NAME_TO_KEYCODE
The Translate a Key Name into a Key Code routine translates the key 
name of a key on the keyboard into its associated key code.
Format
SMG$NAME_TO_KEYCODE key-name ,key-code
RETURNS
  
    | OpenVMS usage:  | 
    cond_value | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by value | 
  
Arguments
key-name
  
    | OpenVMS usage:  | 
    char_string | 
  
  
    | type:  | 
    character string | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by descriptor | 
  
String containing the name of the key to be translated into a key code. 
The key-name argument is the address of a descriptor 
pointing to the character string containing the key name. The 
key-name argument is simply the name of the key (for 
example, COMMA, PERIOD, KP4, and so forth).
key-code
  
    | OpenVMS usage:  | 
    word_unsigned | 
  
  
    | type:  | 
    word (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the key code into which key-name is to be 
translated. The key-code argument is the address of an 
unsigned word that contains the key code.
The key code is returned by SMG$READ_COMPOSED_LINE, SMG$READ_KEYSTROKE, 
SMG$READ_STRING, and SMG$READ_VERIFY in the 
word-terminator-code argument.
Description
SMG$NAME_TO_KEYCODE translates the key name of a key on the keyboard 
into its associated key code. This key code is the same code that is 
returned by the SMG$READ_COMPOSED_LINE, SMG$READ_KEYSTROKE, 
SMG$READ_STRING, and SMG$READ_VERIFY routines in the 
word-terminator-code argument. The form of the key 
code returned by this routine is SMG$K_TRM_keyname. For 
example, if you supply the key name ENTER, the key code returned by 
this routine is SMG$K_TRM_ENTER.
For more information on terminator codes, see Table 3-1.
Condition Values Returned
  
    | 
      SS$_NORMAL
     | 
    
      Normal successful completion.
     | 
  
  
    | 
      SMG$_INVKEYNAM
     | 
    
Invalid
      key-name.
     | 
  
SMG$PASTE_VIRTUAL_DISPLAY
The Paste Virtual Display routine pastes a virtual display to a 
pasteboard.
Format
SMG$PASTE_VIRTUAL_DISPLAY display-id ,pasteboard-id [,pasteboard-row] 
[,pasteboard-column] [,top-display-id]
RETURNS
  
    | OpenVMS usage:  | 
    cond_value | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by value | 
  
Arguments
display-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the virtual display to be pasted. The 
display-id argument is the address of an unsigned 
longword that contains the display identifier.
The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
pasteboard-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the pasteboard to which the display is to be pasted. The 
pasteboard-id argument is the address of an unsigned 
longword that contains the pasteboard identifier.
pasteboard-row
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the row of the pasteboard that is to contain row 1 of the 
specified virtual display. The pasteboard-row argument 
is the address of a signed longword that contains the row number.
If pasteboard-row is omitted, the last row to which 
the virtual display was pasted (on any pasteboard) is used. If 
pasteboard-row is omitted and the virtual display was 
not previously pasted, then row 1 is used.
pasteboard-column
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the column of the pasteboard that is to contain column 1 of 
the specified virtual display. The pasteboard-column 
argument is the address of a signed longword that contains the column 
number.
If pasteboard-column is omitted, the last column to 
which the virtual display was pasted (on any pasteboard) is used. If 
pasteboard-column is omitted and the virtual display 
was not previously pasted, then column 1 is used.
top-display-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Identifier of the virtual display under which to paste 
display-id. The optional 
top-display-id argument is the address of an unsigned 
longword containing this identifier. Note that the virtual display 
specified by top-display-id must already be pasted.
Description
SMG$PASTE_VIRTUAL_DISPLAY places a display on a pasteboard and makes 
the display visible, unless the optional argument 
top-display-id is specified. If 
top-display-id is specified, SMG$PASTE_VIRTUAL_DISPLAY 
pastes the virtual display being pasted under the virtual display 
specified by top-display-id. In this case, the virtual 
display specified by top-display-id must already be 
pasted.
Do not use this routine if the virtual display is batched.
Condition Values Returned
  
    | 
      SS$_NORMAL
     | 
    
      Normal successful completion.
     | 
  
  
    | 
      SMG$_ILLBATFNC
     | 
    
      Display is being batched; illegal operation.
     | 
  
  
    | 
      SMG$_INVDIS_ID
     | 
    
Invalid
      display-id.
     | 
  
  
    | 
      SMG$_INVPAS_ID
     | 
    
Invalid
      pasteboard-id.
     | 
  
  
    | 
      SMG$_WRONUMARG
     | 
    
      Wrong number of arguments.
     | 
  
For an example of how to call SMG$PASTE_VIRTUAL_DISPLAY, see the 
Fortran example in the description of SMG$CREATE_PASTEBOARD.
SMG$POP_VIRTUAL_DISPLAY
The Delete a Series of Virtual Displays routine deletes a specified 
virtual display and all displays that were pasted on the specified 
pasteboard on top of the specified virtual display.
Format
SMG$POP_VIRTUAL_DISPLAY display-id ,pasteboard-id
RETURNS
  
    | OpenVMS usage:  | 
    cond_value | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by value | 
  
Arguments
display-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the lowest (first) virtual display to be deleted. The 
display-id argument is the address of an unsigned 
longword that contains the display identifier. All displays that are 
higher in the pasting order (that is, all displays that were pasted 
after the specified display) are deleted as well.
The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
pasteboard-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the pasteboard on which the display deletions take place. The 
pasteboard-id argument is the address of an unsigned 
longword that contains the pasteboard identifier.
Description
SMG$POP_VIRTUAL_DISPLAY deletes (not merely unpastes) one or more 
displays from the specified pasteboard, starting with the display 
specified and including all displays that are higher in the pasting 
order (that is, all displays that were pasted on top of the specified 
display).
Condition Values Returned
  
    | 
      SS$_NORMAL
     | 
    
      Normal successful completion.
     | 
  
  
    | 
      SMG$_INVDIS_ID
     | 
    
Invalid
      display-id.
     | 
  
  
    | 
      SMG$_INVPAS_ID
     | 
    
Invalid
      pasteboard-id.
     | 
  
  
    | 
      SMG$_WRONUMARG
     | 
    
      Wrong number of arguments.
     | 
  
SMG$PRINT_PASTEBOARD
The Print Pasteboard Using a Print Queue routine prints the contents of 
the specified pasteboard on a line printer.
Format
SMG$PRINT_PASTEBOARD pasteboard-id [,queue-name] [,copies] [,form-name]
RETURNS
  
    | OpenVMS usage:  | 
    cond_value | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by value | 
  
Arguments
pasteboard-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Identifier of the pasteboard to be printed. The 
pasteboard-id argument is the address of an unsigned 
longword containing this identifier.
queue-name
  
    | OpenVMS usage:  | 
    char_string | 
  
  
    | type:  | 
    character string | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by descriptor | 
  
Optional queue name. The queue-name argument is the 
address of a descriptor pointing to the queue name in which to enter 
the file. The default is SYS$PRINT.
copies
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Optional number of copies to print. The copies 
argument is the address of a signed longword containing this number. 
The default and minimum is one copy.
form-name
  
    | OpenVMS usage:  | 
    char_string | 
  
  
    | type:  | 
    character string | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by descriptor | 
  
Optional name of the form to use when printing. The 
form-name argument is the address of a descriptor 
pointing to the form name. The default is "DEFAULT".
Description
SMG$PRINT_PASTEBOARD creates a file and fills it with the contents of 
the specified pasteboard. Once the file is filled, SMG$PRINT_PASTEBOARD 
submits the file to the specified print queue to be printed. If the 
queue-name argument is omitted, the default is 
SYS$PRINT. The file is deleted after printing.
Because the Screen Management Facility cannot determine the type of 
printer being used, it uses terminal-independent characters (plus sign 
[ + ], vertical bar [ | ], underscore [ _ ], and so forth) for 
line-drawing characters.
Condition Values Returned
  
    | 
      SS$_NORMAL
     | 
    
      Normal successful completion.
     | 
  
  
    | 
SS$_
      xxxx
     | 
    
      Any error status originating in the $SNDJBCW system service.
     | 
  
  
    | 
LIB$_
      xxxx
     | 
    
      Any condition value returned by LIB$ANALYZE_SDESC.
     | 
  
  
    | 
SMG$_
      xxxx
     | 
    
      Any condition value returned by SMG$PUT_PASTEBOARD.
     | 
  
SMG$PUT_CHARS
The Write Characters to a Virtual Display routine writes characters in 
a virtual display with the text you specify.
Format
SMG$PUT_CHARS display-id ,text [,start-row] [,start-column] [,flags] 
[,rendition-set] [,rendition-complement] [,character-set]
RETURNS
  
    | OpenVMS usage:  | 
    cond_value | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    write only | 
  
  
    | mechanism: | 
    by value | 
  
Arguments
display-id
  
    | OpenVMS usage:  | 
    identifier | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the virtual display affected. The display-id 
argument is the address of an unsigned longword that contains the 
display identifier.
The display identifier is returned by SMG$CREATE_VIRTUAL_DISPLAY.
text
  
    | OpenVMS usage:  | 
    char_string | 
  
  
    | type:  | 
    character string | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by descriptor | 
  
Characters to be written to the virtual display. The 
text argument is the address of a descriptor pointing 
to the character string.
start-row
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the row at which output begins. If start-row 
is omitted, output begins on the current row. The 
start-row argument is the address of a signed longword 
that contains the row number.
start-column
  
    | OpenVMS usage:  | 
    longword_signed | 
  
  
    | type:  | 
    longword (signed) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Specifies the column at which output begins. If 
start-column is omitted, output begins on the current 
column. The start-column argument is the address of a 
signed longword that contains the column number.
flags
  
    | OpenVMS usage:  | 
    mask_longword | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Optional bit mask that specifies the action to take before the 
specified text is output. The flags argument is the 
address of an unsigned longword bit mask that contains the flag. The 
flags argument accepts the following values:
  
    | 
      0
     | 
    
      Does not erase line (the default).
     | 
  
  
    | 
      SMG$M_ERASE_TO_EOL
     | 
    
      Erases the remaining part of the line.
     | 
  
  
    | 
      SMG$M_ERASE_LINE
     | 
    
      Erases the entire line.
     | 
  
rendition-set
  
    | OpenVMS usage:  | 
    mask_longword | 
  
  
    | type:  | 
    longword (unsigned) | 
  
  
    | access:  | 
    read only | 
  
  
    | mechanism: | 
    by reference | 
  
Attribute specifier. The optional rendition-set 
argument is the address of a longword bit mask in which each attribute 
set causes the corresponding attribute to be set in the display. The 
following attributes can be specified using the 
rendition-set argument:
  
    | 
      SMG$M_BLINK
     | 
    
      Displays blinking characters.
     | 
  
  
    | 
      SMG$M_BOLD
     | 
    
      Displays characters in higher-than-normal intensity.
     | 
  
  
    | 
      SMG$M_REVERSE
     | 
    
      Displays characters in reverse video; that is, using the opposite of 
      the default rendition of the virtual display.
     | 
  
  
    | 
      SMG$M_UNDERLINE
     | 
    
      Displays underlined characters.
     | 
  
  
    | 
      SMG$M_INVISIBLE
     | 
    
      Specifies invisible characters; that is, the characters exist in the 
      virtual display but do not appear on the pasteboard.
     | 
  
  
    
SMG$M_USER1 through
        SMG$M_USER8
     | 
    
      Displays user-defined attributes.
     |