This document covers the following topics:
Retrieves miscellaneous non-client window dimensions and settings from the operating system. The "small caption" referred to below is the caption used for floating tool bar controls.
Note
All font descriptions are in the standard form used by the
FONT-STRING attribute.
| Name/Data Type | Explanation |
|---|---|
| Border width (I4) | Output (optional parameter)
Thickness (in pixels) of the sizing border. |
| Scroll width (I4) | Output (optional parameter)
Width (in pixels) of a vertical scroll bar. |
| Scroll height (I4) | Output (optional parameter)
Height (in pixels) of a horizontal scroll bar. |
| Caption width (I4) | Output (optional parameter)
Width (in pixels) of caption buttons. |
| Caption height (I4) | Output (optional parameter)
Height (in pixels) of caption buttons. |
| Caption font (A253) | Output (optional parameter)
Caption font string. |
| Small caption width (I4) | Output (optional parameter)
Width (in pixels) of small caption buttons. |
| Small caption height (I4) | Output (optional parameter)
Height (in pixels) of small caption buttons. |
| Small caption font (A253) | Output (optional parameter)
Small caption font string. |
| Menu width (I4) | Output (optional parameter)
Width (in pixels) of menu bar buttons. |
| Menu height (I4) | Output (optional parameter)
Height (in pixels) of menu bar buttons. |
| Menu font (A253) | Output (optional parameter)
Menu bar font string. |
| Status font (A253) | Output (optional parameter)
Status bar font string. Note |
| Message font (A253) | Output (optional parameter)
Message box font string. |
| Response (I4) | Output
Natural error (if applicable). |
DEFINE DATA LOCAL
1 NONCLIENTMETRICS
2 BORDER-WIDTH (I2)
2 SCROLL-WIDTH (I2)
2 SCROLL-HEIGHT (I2)
2 CAPTION-WIDTH (I2)
2 CAPTION-HEIGHT (I2)
2 CAPTION-FONT (A80)
2 SMALL-CAPTION-WIDTH (I2)
2 SMALL-CAPTION-HEIGHT (I2)
2 SMALL-CAPTION-FONT (A80)
2 MENU-WIDTH (I2)
2 MENU-HEIGHT (I2)
2 MENU-FONT (A80)
2 STATUS-FONT (A80)
2 MESSAGE-FONT (A80)
*
1 #FONT HANDLE OF FONT
1 #WIDTH (I4)
1 #HEIGHT (I4)
END-DEFINE
...
PROCESS GUI ACTION INQ-NON-CLIENT-METRICS WITH NONCLIENTMETRICS
GIVING *ERROR
*
/* Create font based on status bar font description
PROCESS GUI ACTION ADD WITH PARAMETERS
PARENT = #DLG$WINDOW
TYPE = FONT
HANDLE-VARIABLE = #FONT
STRING = NONCLIENTMETRICS.STATUS-FONT
END-PARAMETERS GIVING *ERROR
*
/* Get width and height of text "Test" in status bar font
PROCESS GUI ACTION TEXT-GET-EXTENT WITH #FONT 'Test'
#WIDTH #HEIGHT GIVING *ERROR
*
/* Delete font we created if no longer needed
PROCESS GUI ACTION DELETE WITH #FONT