GUI Control

This document covers the following topics:


Description

In event handler code, you can use the HANDLE OF GUI variable to refer to the handle of any type of dialog element. This can be useful, for example, if you are querying an attribute value in all dialog elements on one level: you go through the dialog elements one after the other; in the course of this query, it is not clear which type of dialog element is going to be queried next. Then a GUI handle allows you to query the next dialog element regardless of its type. This saves a lot of coding, because otherwise, you would have to query each dialog element's attribute value separately.

The syntax checker will accept all existing attributes for a HANDLE OF GUI variable because all existing dialog elements must be covered. Nevertheless, if you query or modify an attribute which is not valid for the dialog element to which the HANDLE OF GUI variable refers, a runtime error will occur. It is therefore only advisable to use a HANDLE OF GUI variable if the attribute you are querying or modifying applies to most, if not all of the dialog elements.

Example:

... 1 #CONTROL 
HANDLE OF GUI ... #CONTROL := #DLG$WINDOW.FIRST-CHILD REPEAT UNTIL #CONTROL = 
NULL-HANDLE ... #CONTROL := #CONTROL.SUCCESSOR END-REPEAT

Attributes for GUI Control

Attribute Name Query Set/Modify
ACCELERATOR X X/X
ACTIVE-CHILD X -/X
AUTOSELECT X X/X
BACKGROUND-COLOUR-NAME X X/X
BACKGROUND-COLOUR-VALUE X X/X
BAR-ID X X/-
BITMAP-FILE-NAME X X/X
BLEND X X/-
BUDDY X X/X
CELL-ATTRIBUTES X X/X
CHECKED X X/X
CHECKED-SUCCESSOR X X/X
CLIENT-DATA X X/X
CLIENT-HANDLE X X/X
CLIENT-KEY X X/X
CLIENT-VALUE X X/X
COLUMN X X/X
COLUMN-COUNT X -/-
COLUMN-TYPE X X/-
COMPATIBILITY X X/-
CONTEXT-MENU X X/X
CONTROL X -/-
DEFAULT-BUTTON X X/X
DESCENDING X X/X
DIL-TEXT X X/X
DOCKING X X/X
DPI X X/-
DRAGGABLE X X/X
DRAG-MODE X X/X
DROP-MODE X X/X
EDIT-MASK X X/X
EMBEDDED-OBJECT X X/X
ENABLED X X/X
EVENT-QUEUEING X X/X
EXPANDED X X/X
FIRST-CHILD X -/-
FIRST-COLUMN-WIDTH X X/X
FIRST-VISIBLE-COLUMN X X/X
FIRST-VISIBLE-ITEM X X/X
FIRST-VISIBLE-ROW X X/X
FOLLOWS X X/X
FONT-HANDLE X X/X
FONT-STRING X X/-
FOREGROUND-COLOUR-NAME X X/X
FOREGROUND-COLOUR-VALUE X X/X
FORMAT X X/-
FROZEN-COLUMNS X X/X
GROUP-ID X X/X
HAS-DIL X X/X
HAS-FIRST-COLUMN X X/X
HAS-HELP-BUTTON X X/-
HAS-MENU-BAR X X/-
HAS-STATUS-BAR X X/X
HAS-SYSTEM-BUTTON X X/-
HAS-TOOLBAR X X/X
HAS-TOOLTIP X X/X
HEADER-FONT-HANDLE X X/X
HEADER-HEIGHT X X/X
HELP-FILENAME X X/X
HELP-ID X X/X
HORIZ-SCROLLABLE X X/-
ICONIZED X X/X
IMAGE X X/X
IMAGE-INDEX X X/X
IMAGE-LIST X X/X
INPLACE-ACTIVE X -/-
ITEM X -/-
ITEM-H X X/X
ITEM-W X X/X
LAST-CHILD X -/-
LENGTH X X/X
LINE X X/X
LINKED X X/-
LOCATION X X/X
MARGIN-X X X/X
MARGIN-Y X X/X
MAX X X/X
MAXIMIZABLE X X/-
MAXIMIZED X X/X
MENU-HANDLE X X/X
MENU-ITEM-OLE X X/X
MENU-ITEM-TYPE X X/-
MIN X X/X
MINIMIZABLE X X/-
MINIMIZED X X/X
MODIFIABLE X X/-
MODIFIED X -/X
MODIFIED-SUCCESSOR X -/-
MULTI-SELECTION X X/-
NAME X -/-
OBJECT-SIZE X X/X
OFFSET-X X X/X
OFFSET-Y X X/X
OVERLAY X X/X
OVERLAY-INDEX X X/X
OWNER X X/-
P1-X X X/X
P1-Y X X/X
P2-X X X/X
P2-Y X X/X
PAGE X X/X
PARENT X X/-
POPUP-HELP X X/X
POSITION X X/X
PREDECESSOR X -/-
RECTANGLE-H X X/X
RECTANGLE-W X X/X
RECTANGLE-X X X/X
RECTANGLE-Y X X/X
ROW X X/X
ROW-COUNT X X/-
ROW-HEIGHT X X/X
SAME-AS X X/-
SCROLLRANGE-X X X/X
SCROLLRANGE-Y X X/X
SELECTED X X/X
SELECTED-SUCCESSOR X -/-
SERVER-OBJECT X X/X
SERVER-PROGID X X/X
SHARED X X/X
SIZE-MODIFIABLE X X/-
SLIDER X X/X
SORTED X X/-
SPACING X X/X
SPACING-X X X/X
SPACING-Y X X/X
STATUS-HANDLE X X/X
STATUS-TEXT - -/X
STRING X X/X
STYLE X X/-
SUCCESSOR X X/-
SUPPRESS-ACTIVATE-EVENT X X/X
SUPPRESS-AFTER-EDIT-EVENT X X/X
SUPPRESS-BEFORE-EDIT-EVENT X X/X
SUPPRESS-BEGIN-DRAG-EVENT X X/X
SUPPRESS-BEFORE-OPEN-EVENT X X/X
SUPPRESS-CHANGE-EVENT X X/X
SUPPRESS-CHECK-EVENT X X/X
SUPPRESS-CLICK-EVENT X X/X
SUPPRESS-CLIENT-SIZE-EVENT X X/X
SUPPRESS-CLIPBOARD-STATUS-EVENT X X/X
SUPPRESS-CLOSE-EVENT X X/X
SUPPRESS-COLLAPSE-EVENT X X/X
SUPPRESS-COMMAND-STATUS-EVENT X X/X
SUPPRESS-CONTEXT-MENU-EVENT X X/X
SUPPRESS-COPY-EVENT X X/X
SUPPRESS-CUT-EVENT X X/X
SUPPRESS-DBL-CLICK-EVENT X X/X
SUPPRESS-DELETE-EVENT X X/X
SUPPRESS-DELETE-ROW-EVENT X X/X
SUPPRESS-DRAG-DROP-EVENT X X/X
SUPPRESS-DRAG-ENTER-EVENT X X/X
SUPPRESS-DRAG-LEAVE-EVENT X X/X
SUPPRESS-DRAG-OVER-EVENT X X/X
SUPPRESS-END-DRAG-EVENT X X/X
SUPPRESS-ENTER-EVENT X X/X
SUPPRESS-ENTER-CELL-EVENT X X/X
SUPPRESS-EXPAND-EVENT X X/X
SUPPRESS-FILL-EVENT X X/X
SUPPRESS-IDLE-EVENT X X/X
SUPPRESS-INSERT-ROW-EVENT X X/X
SUPPRESS-LEAVE-EVENT X X/X
SUPPRESS-LEAVE-CELL-EVENT X X/X
SUPPRESS-PASTE-EVENT X X/X
SUPPRESS-SIZE-EVENT X X/X
SUPPRESS-TOP-EVENT X X/X
SUPPRESS-UNDO-EVENT X X/X
TIME X X/X
TIMER-INTERVAL X X/X
TOOLBAR-HANDLE X X/X
TOOLBAR-POS X X/-
TOOLTIP X X/X
TYPE X X/-
VARIABLE - X/X
VERSION X -/-
VERT-SCROLLABLE X X/-
VIEW-MODE X X/X
VISIBLE X X/X
WALLPAPER X X/X
ZOOM-FACTOR X X/X