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