GUI ScreenIO for Windows

Panel Copybook

The panel copybook contains the complete definition of your panel, consistent with GUI ScreenIO's document-centric orientation.

All panel definitions consist of four 01-level items, which are named panel-1 through panel-4, where panel is the name you assign when you save the panel.

The items are arranged in alphabetical order by 01-level item.


The panel-1 area consists of fields used to return information about the panel or to control the panel and its content.

The fields are not always present; it depends upon the panel properties.

Return to top of page

Item Significance
panel-ACTIVATED-PANEL-NAME In a multiple working-set application, the name of the panel being activated by the user.
panel-ACTIVATED-WORKING-SET In a multiple working-set application, the working-set of the panel being activated by the user.
panel-ACTIVE-FIELD-ID Number of the active field. 

You can also obtain this information (or set the active field) using the attributes of the controls.

panel-ATTRIBUTE-TABLE Control attribute table.
panel-DISPLAY-OPTION Commands to GUI ScreenIO telling it what to do when your panel is displayed or updated.
panel-EVENT-ID Event ID that caused GUI ScreenIO to return to your program. 

You should never refer to this field directly to evaluate events; instead, refer to the 88-level names beneath it.

The events that may be returned depend upon the panel properties, the menu (if present), and the controls used on the panel.

panel-FIELD-COUNT Number of fields on the panel.
panel-HEIGHT Height of the window.
panel-HWND Window handle assigned to this panel by Windows.  Information only.
panel-INSERT-POINT Offset of the caret within the active field (the first position is zero).
panel-LANGUAGE-SELECTED If using multiple languages, specify the current language here.
panel-MESSAGE-DESTINATION Whether to display message text in a popup messagebox or in the status bar.
panel-MESSAGE-TEXT Text of a message that you want to display.
panel-PANEL-NAME Name of your panel.
panel-STRINGS Text strings used in the panel for control labels, static text, button labels, and menu text.  If your application uses multiple languages, there will be one set of strings for each language.

If you want to modify strings at runtime (not commonly done), it's convenient to have the editor break them into separate string definitions.

panel-WORKING-SET The working-set of the panel. 

Only applicable to popups and property sheet/wizards, and only used for multiple working-set applications.

panel-WIDTH Width of the window.
panel-X-POSITION X coordinate of the window's origin.
panel-Y-POSITION Y coordinate of the window's origin.


The panel-2 area contains specifications used internally by GUI ScreenIO to display and manage your panel. 

Do not attempt to modify this data; you will irretrievably corrupt the panel definition.

Return to top of page

Item Significance
FILLER Proprietary, hexadecimal-encoded panel definition.


The panel-3 area contains (for several controls)  data which does not logically belong in the panel-4 area.

These include comboboxes, listboxes, and listviews.

Return to top of page

Item Significance
Depends on controls used. See the individual control documentation.


The panel-4 contents depend upon whether this is a main panel or a panel that contains controls.

Main panel

The panel-4 area of the main panel provides some application-specific information, and allows you to specify registry keys (if your application will use the registry to save panel states or other data), and a few things about your Help documentation, if present.

Return to top of page

Item Significance
FILLER  Reserved for future use.
panel-APPLICATION-NAME-KEY Registry key; the name of your application. 

Required if you enable state-saving for the panels in your application, or if you want to use the registry for storing application settings of your own.

panel-COMPANY-NAME-KEY Registry key; typically, the name of the company that is distributing the application. 

Required if you enable state-saving for the panels in your application, or if you want to use the registry for storing application settings of your own.

panel-CLIENT-IP This value will be returned to your program if (and only if) your application is running under the client server layer.  It will contain the IP address of the client computer (or the firewall which the client resides behind).
panel-CLIENT-PORT See above.  This is the port on which the Application is talking to the client.  Do not attempt to use this port in any way.  It is for informational purposes only.
panel-CLIENT-USER-ID See above.  This is the user id that the remote user used to log into the Server when connecting via the Client.  In some cases it may be bogus or blank, such as when you configure your client to use no default password, or when you publish your default password.  Users knowing the default password do not need a valid user-id to gain access to the default menu.
panel-HELP-ROOT Optional; full pathspec to the location of your Help files.

The default location for your Help files is in a \HELP subdirectory located beneath the directory where your executable resides.

panel-HELP-SUBSYSTEM Specifies the type of Help you are using for your application. 

GUI ScreenIO uses this to determine how to launch Help when the user requests it.

panel-HINSTANCE Information only.  Windows instance handle assigned to your application. If two or more copies of your application are loaded, each will have a different instance value
panel-MULTIPLE-INSTANCE-YES Tells GUI ScreenIO to permit multiple copies of your application to be run concurrently.
panel-MULTIPLE-INSTANCE-NO Restricts the user to running only one copy of your application. 

If the user attempts to launch a second instance of the application, GUI ScreenIO will immediately return panel-EVENT-CLOSE-AND-STOP on this and subsequent calls (which should trigger your normal logic to close your application). 

GUI ScreenIO will also attempt to activate the instance that is already running.

panel-SERVER-SERIAL-NO The serial number of the server that your job is running on, when running under the client server layer.
panel-SERVER-SEATS The number of concurrent jobs allowed by the server.  This does not indicate the currently used seats.  Your application may decide to disallow multiple instances (see above) when running on a farm that has a small number of seats.
panel-SERVER-IS-FARM This field contains a Y when your job is being run on a client server which is a member of a server farm.
panel-FARM-SEATS The approximate number of seats available in the server farm if the server is a member of a farm, or the number of seats on this server if your server is not a member of a farm.  This number may be inexact if servers crash or are taken out of service once the farm is started.
panel-RUNTIME-VERSION Information only.  Version of the GUI ScreenIO runtime in use.

You can display this anytime using the key combination Alt+Ctrl+Shift+V.

Panels containing controls

The panel-4 area of dialog boxes, property sheets, and wizards, contains data areas used in conjunction with the controls on the panel.  In most cases, you move the data to be displayed in the control to the control's data field here before you display the panel, and receive data the user entered in the control upon control returning from GUI ScreenIO after the panel has been displayed.

Return to top of page

Item Significance
Depends on controls used. See the individual control documentation.

2000-2019 Norcom, all rights reserved 


Send feedback to Norcom