INQ-NON-CLIENT-METRICS Action

This document covers the following topics:


Description

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.

Parameters

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:
This font is also used for tooltips.

Message font (A253) Output (optional parameter)

Message box font string.

Response (I4) Output

Natural error (if applicable).

Example:

 
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