%U_WINMETRICS
WTSupported in traditional Synergy on Windows
|
|
|
|
return = %U_WINMETRICS(metric[, arg, ...])
or
xcall U_WINMETRICS(metric[, arg, ...])
Return value
return
On Windows, a value that is specific to the requested metric. On UNIX, always returns false. On OpenVMS, always returns true. (^VAL)
Arguments
metric
The information to return: (n)
Return height of characters.
Return width of characters.
Return width of a check box or radio button.
Return coordinates for client area of a window.
Return width for a specified number of columns, or return the coordinate for the right side of a specified column.
Return extra width required for an edit control.
Return height of a horizontal scroll bar.
Convert points from the coordinate system of one window to the coordinate system for another window.
Return the overall height of a row.
Return the space between rows.
Return height for the specified number of rows, or return the coordinate for the bottom of a specified row.
Return display scaling factor for Windows.
Return screen width.
Return screen height.
Return the height of a tab.
Return the width of a tab.
Return the horizontal offset for a tab set.
Return the vertical offset for a tab set.
Return coordinates for client area minus any area occupied by standard buttons.
Return width of a vertical scroll bar.
Return coordinates for screen rectangle for a window.
Return width of a vertical side of a thin border.
Return width of a vertical side of a thick window frame.
Return offset of first visible column from the left side of the client area.
Return number for the column that contains pixels with a given x-axis coordinate.
Return thickness (height) of a horizontal side of a thin border.
Return height of a caption bar.
Return thickness (height) of a horizontal side of a thick window frame.
Return offset of first visible row from the top of the client area.
Return number for the row that contains pixels with a given y-axis coordinate.
arg
(optional) One to three arguments as required for the metric.
Discussion
%U_WINMETRICS returns window information. See the information on individual subfunctions (below) for details.
If a value other than those listed above is passed for metric, a fatal error will occur.
See also
W_INFO and %W_INFO routines for information on retrieving other types of window information
You can combine %U_WINMETRICS subfunctions to perform additional calculations. For example, the following code displays the size of the screen in characters. It does this by dividing the pixel size of the screen by the size of a character. (Note that this calculation doesn’t account for toolbars or scrollbars.)
xcall U_MESSAGE(“width “ + %string(%U_WINMETRICS(D_SCREEN_X)/ & %U_WINMETRICS(D_CHARWIDTH, my_window))) ;Screen width in characters xcall U_MESSAGE(“height “ + %string(%U_WINMETRICS(D_SCREEN_Y)/ & %U_WINMETRICS(D_CHARHEIGHT, my_window)));Screen height in characters
For a more complete example, see GetWindowSize.zip, available from the Synergy CodeExchange in the Resource Center on the Synergex web site. This example calculates the available area in a window (with some exceptions) when that window is fully expanded.
return = %U_WINMETRICS(D_CHARHEIGHT, window_id)
Return value
return
On Windows, the height in pixels of the sizing character for the specified window. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window.
The container window for the Synergy application.
Discussion
The D_CHARHEIGHT subfunction of %U_WINMETRICS returns the height in pixels of the sizing character for the window specified by window_id. For more information on sizing characters, see Using fonts on Windows.
Examples
The following example returns in char_height (i4) the pixel height of the sizing character associated with wndid.
char_height = %U_WINMETRICS(D_CHARHEIGHT, wndid)
The next example returns the pixel height of the sizing character associated with the application window.
char_height = %U_WINMETRICS(D_CHARHEIGHT, WID_APP)
See also the %U_WINMETRICS Examples for an example that uses D_CHARHEIGHT as part of a calculation that uses multiple %U_WINMETRICS subfunctions.
return = %U_WINMETRICS(D_CHARWIDTH, window_id)
Return value
return
On Windows, the width in pixels of the sizing character for the specified window. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
Discussion
The D_CHARWIDTH subfunction of %U_WINMETRICS returns the width in pixels of the sizing character for the window specified by window_id. For more information on sizing characters, see Using fonts on Windows.
Examples
The following example returns in char_width (i4) the pixel width of the sizing character associated with wndid.
char_width = %U_WINMETRICS(D_CHARWIDTH, wndid)
The next example returns the pixel width of the sizing character associated with the application window.
char_width = %U_WINMETRICS(D_CHARWIDTH, WID_APP)
return = %U_WINMETRICS(D_CHECKBOX_X)
Return value
return
On Windows, the width in pixels of a check box or radio button. (^VAL)
Discussion
The D_CHECKBOX_X subfunction of %U_WINMETRICS returns the width of a check box or radio button in pixels.
Examples
The following example returns in pixel_width (i4) the width of a check box in pixels.
pixel_width = %U_WINMETRICS(D_DCHECKBOX_X)
return = %U_WINMETRICS(D_CLIENT_RECT, h_wnd, rect)
or
xcall U_WINMETRICS(D_CLIENT_RECT, h_wnd, rect)
Return value
return
On Windows, true if successful, or false if not. (^VAL)
Arguments
h_wnd
The handle for the window whose client area coordinates you want to retrieve. This doesn’t need to be a Synergy window. For example, this could be the handle for an ActiveX control, a window created by a DLL, or a window created by a different process. (n)
rect
The returned rectangle coordinates for the client area of the window. Rect is returned as a group of four i4 values, which are coordinates for the left, top, right, and bottom points (respectively) of the client area. (n)
The D_CLIENT_RECT subfunction of %U_WINMETRICS returns coordinates for the client area of the h_wnd window. (The client area is the inside area of a window minus the frame, captions, information line, and footer.) These coordinates are returned in the rect argument, which is a group of i4 values for the left, top, right, and bottom points of the client area. The left and top coordinates are always zero.
D_CLIENT_RECT and D_VISIBLE_RECT will always be equal for the application window (WID_APP), and they will always be equal for the container window (ID_CONTAINTER).
For the application and container windows, however, D_CLIENT_RECT may not be equal if, for example, a toolbar is placed. This area would be excluded from D_CLIENT_RECT for the application window.
For any other Synergy window, D_CLIENT_RECT and D_VISIBLE_RECT will be equal if the window does not include buttons.
Examples
The following example gets the client rectangle for the application window in rect.
success = %U_WINMETRICS(D_CLIENT_RECT, %W_INFO(WIF_HWND, WID_APP), rect)
return = %U_WINMETRICS(D_COLTOX, window_id, col_num[, D_SIZE|D_POSITION])
Return value
return
Varies depending on syntax. See Discussion below. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
col_num
If D_SIZE is passed, col_num specifies the number of columns whose width you want to measure. If D_POSITION is passed, col_num specifies a column number. (n)
D_SIZE
(optional) Return the pixel width of the number of columns specified in col_num. (default) (n)
D_POSITION
(optional) Return the x-axis pixel coordinate for the right side of the column specified by col_num. (n)
Discussion
The D_COLTOX subfunction of %U_WINMETRICS returns either a width or an x-axis pixel coordinate.
- If D_SIZE is passed (or neither D_SIZE nor D_POSITION is passed), D_COLTOX returns the width in pixels of the number of columns specified in col_num.
- If D_POSITION is passed, D_COLTOX returns an x-axis (horizontal) pixel coordinate for the right side of the column specified by col_num. This value is based on the display area origin, a coordinate system in which the 0, 0 pixel is at the top left of the display area.
Examples
This example returns in pixel_width (i4) the number of pixels that equates to six columns for wndid.
pixel_width = %U_WINMETRICS(D_COLTOX, wndid, 6, D_SIZE)
This example returns in pixel_width the right-most pixel of column 25 in the application window.
pixel_width = %U_WINMETRICS(D_COLTOX, WID_APP, 25, D_POSITION)
return = %U_WINMETRICS(D_EDITEXTRA_X)
Return value
return
On Windows, the extra pixel width required for an edit control. (^VAL)
Discussion
The D_EDITEXTRA_X subfunction of %U_WINMETRICS returns the extra pixel width required for an edit control to be placed over a specific set of characters. This is in addition to the number of characters times the character width.
Examples
The following example returns in pixel_width (i4) the number of extra pixels required for an edit control.
pixel_width = %U_WINMETRICS(D_EDITEXTRA_X)
return = %U_WINMETRICS(D_HSCROLL_Y)
Return value
return
On Windows, the height of a horizontal scroll bar in pixels. (^VAL)
Discussion
The D_HSCROLL_Y subfunction of %U_WINMETRICS returns the height of a horizontal scroll bar in pixels.
Examples
The following example returns in pixel_height (i4) the height of a horizontal scroll bar in pixels.
pixel_height = %U_WINMETRICS(D_HSCROLL_Y)
return = %U_WINMETRICS(D_MAPPOINTS, h_from, h_to, x_y_pair)
or
xcall U_WINMETRICS(D_MAPPOINTS, h_from, h_to, x_y_pair)
Return value
return
On Windows, a 32-bit value that contains the addends used to convert coordinates. The low-order 16 bits contain the x-axis addend, and the high-order 16 bits contain the y-axis addend. Each value can be a negative number. (See the Discussion below for information on extracting these values.) (^VAL)
Arguments
h_from
A handle for the window whose coordinate system you want x_y_pair converted from. (n)
h_to
A handle for the window whose coordinate system you want x_y_pair converted to. (n)
x_y_pair
A set (or sets) of coordinates (x, y) for a point (or points) in the h_from window. Each 8 bytes of this argument is interpreted as a pair of i4 values that represent x- and y- axis coordinates, so the value you pass must have a size that’s a multiple of 8 bytes (8 bytes for a single point, 16 bytes for two points, and so forth). The converted coordinates are returned in this argument, so it must be writable. (n)
The D_MAPPOINTS subfunction of %U_WINMETRICS converts the x_y_pair set (or sets) of coordinates from the coordinate system of the h_from window to the coordinate system of the h_to window. In other words, it converts coordinates that are relative to the upper-left corner of the h_from window to coordinates that are relative to the upper-left corner of the h_to window. (Note that these windows can be in different processes.) This could be useful, for example, if you have an ActiveX control that has no border and acts as a background or pointer within a larger window. When a user clicks on the control, your event routine may need to convert the coordinates of the click location to coordinates in the same location in the parent window.
The converted coordinates are returned in the x_y_pair argument in the same order they were passed.
The addends used to calculate the new set(s) of coordinates are returned in return, which is a 32-bit value. The low-order 16 bits contain the x-axis addend, and the high-order 16 bits contain the y-axis addend. For example, if h_from is a window positioned at 100, 200 and h_to is a window positioned at 500, 50, return will contain the x-axis addend (decimal 400, hex190) in the low-order word and the y-axis addend (decimal -150, hex FF6A in 16-bit twos complement) in the high-order word. In this case, return will be returned as FF6A0190.
To extract the x- and y-axis addends from return, use the following:
cx = rval .band. ^x(FFFF) cy = (rval .band. ^x(FFFF0000)) / ^x(1000)
where cx (i2 or i4) is the addend used to calculate the x-axis coordinates, cy (i2 or i4) is the addend used to calculate the y-axis coordinates, and rval (i4) is the returned value (return). (Rval can be a group of cx, i2 and cy, i2 values on little endian architectures.)
Examples
The following example first gets the visible rectangle for wndid, and then converts these points to their corresponding values in the application window.
if (%U_WINMETRICS(D_VISIBLE_RECT, wndid, rect)) then pts = %U_WINMETRICS(D_MAPPOINTS, %W_INFO(WIF_HWND, wndid), & %W_INFO(WIF_HWND, WID_APP), rect)
return = %U_WINMETRICS(D_ROWHEIGHT, window_id)
Return value
return
On Windows, the overall height in pixels of a row in the specified window. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
Discussion
The D_ROWHEIGHT subfunction of %U_WINMETRICS returns the overall height (character height plus leading) in pixels of a row in the window specified by window_id.
Examples
The following example returns in row_height (i4) the pixel height of a row in wndid.
row_height = %U_WINMETRICS(D_ROWHEIGHT, wndid)
return = %U_WINMETRICS(D_ROWLEADING, window_id)
Return value
return
On Windows, the space between rows in pixels for the specified window. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
Discussion
The D_ROWLEADING subfunction of %U_WINMETRICS returns the leading (the space between rows) in pixels for the window specified by window_id.
See also
- %U_WNDSTYLE routine
- MINIMIZE_LEADING environment variable
Examples
The following example returns in row_leading (i4) the number of pixels between rows for wndid.
row_leading = %U_WINMETRICS(D_ROWLEADING, wndid)
return = %U_WINMETRICS(D_ROWTOY, window_id, row_num[, D_SIZE|D_POSITION])
Return value
return
Varies depending on syntax. See Discussion below. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
row_num
If D_SIZE is passed (or neither D_SIZE nor D_POSITION is passed), row_num specifies the number of rows whose height you want to measure. If D_POSITION is passed, row_num specifies a row number. (n)
D_SIZE
(optional) Return the pixel height of the number of rows specified in row_num. (default) (n)
D_POSITION
(optional) Return y-axis (vertical) pixel coordinate for the bottom of the row specified by row_num. (n)
Discussion
The D_ROWTOY subfunction of %U_WINMETRICS returns either a height or a y-axis pixel coordinate.
- If D_SIZE is passed (or neither D_SIZE nor D_POSITION is passed), D_ROWTOY returns the height of the number of rows specified in row_num.
- If D_POSITION is passed, D_ROWTOY returns a y-axis pixel coordinate for the bottom of the row specified by row_num.
Examples
This example returns in pixel_height (i4) the number of pixels that equates to six rows for wndid.
pixel_height = %U_WINMETRICS(D_ROWTOY, wndid, 6, D_SIZE)
The next example returns in pixel_height the bottom pixel of row 17 in the application window.
pixel_height = %U_WINMETRICS(D_ROWTOY, WID_APP, 17, D_POSITION)
return = %U_WINMETRICS(D_SCALE)
Return value
return
On Windows, the display scaling factor. (^VAL)
Discussion
The D_SCALE subfunction of %U_WINMETRICS returns the Windows display scaling factor (percentage) that is in effect on a Windows machine. The display scaling factor is set by the following Windows setting for the monitor that Windows uses as the primary monitor:
Display > Scale and layout > Change the size of text, apps, and other items
For example, if 100 is returned for D_SCALE, the Windows display scaling factor is set to 100%. You can use this information to help make sizing decisions when converting pixels to characters, when sizing window borders, etc.
See Monitor scaling and resolution on Windows for more information on Windows scaling.
Examples
The following example returns in disp_scale the Windows display scaling factor in effect for the machine.
disp_scale = %U_WINMETRICS(D_SCALE)
return = %U_WINMETRICS(D_SCREEN_X)
Return value
return
On Windows, the width of the screen in pixels. (^VAL)
Discussion
The D_SCREEN_X subfunction of %U_WINMETRICS returns the width of the screen in pixels.
Examples
The following example returns in pixel_width (i4) the width of the screen (the monitor’s display area) in pixels.
pixel_width = %U_WINMETRICS(D_SCREEN_X)
See the %U_WINMETRICS Examples for an example that uses D_SCREEN_X as part of a calculation that uses multiple %U_WINMETRICS subfunctions.
return = %U_WINMETRICS(D_SCREEN_Y)
Return value
return
On Windows, the height of the screen in pixels. (^VAL)
Discussion
The D_SCREEN_Y subfunction of %U_WINMETRICS returns the height of the screen in pixels.
Examples
The following example returns in pixel_height (i4) the height of the screen (the monitor’s display area) in pixels.
pixel_height = %U_WINMETRICS(D_SCREEN_Y)
See the %U_WINMETRICS Examples for an example that uses D_SCREEN_Y as part of a calculation that uses multiple %U_WINMETRICS subfunctions.
height = %U_WINMETRICS(D_TABHEIGHT, tabset_id, index)
Return value
height
On Windows, the height in pixels of a tab. (^VAL)
Arguments
tabset_id
The ID of a tab set container window (the ID returned by the DTS_CREATE subfunction to %TS_TABSET). (n)
index
The index of the tab whose height you want returned. (n)
Discussion
The D_TABHEIGHT subfunction of %U_WINMETRICS returns the height in pixels of the tab specified by the tabset_id and index arguments. Height is the y-axis measurement of the tab (so height will vary depending on whether the tab is part of a horizontal or vertical tab set).
If index is less than 1 or greater than the number of tabs in the specified tab set (tabset_id), Toolkit generates an error.
Examples
The following example returns the number of pixels that make up the height of the tab specified by tabset_id and tab_index.
tab_height = %U_WINMETRICS(D_TABHEIGHT, tabset_id, tab_index)
width = %U_WINMETRICS(D_TABWIDTH, tabset_id, index)
Return value
width
On Windows, the width in pixels of a tab. (^VAL)
Arguments
tabset_id
The ID of a tab set container window (the ID returned by the DTS_CREATE subfunction to %TS_TABSET). (n)
index
The index of the tab whose width you want returned. (n)
Discussion
The D_TABWIDTH subfunction of %U_WINMETRICS returns the width in pixels of the tab specified by the tabset_id and index arguments. Width is the x-axis measurement of the tab (so width will vary depending on whether the tab is part of a horizontal or vertical tab set).
If index is less than 1 or greater than the number of tabs in the specified tab set (tabset_id), Toolkit generates an error.
Examples
The following example returns the number of pixels that make up the width of the tab specified by tabset_id and tab_index.
tab_width = %U_WINMETRICS(D_TABWIDTH, tabset_id, tab_index)
x_offset = %U_WINMETRICS(D_TABXOFFSET, tabset_id)
Return value
x_offset
On Windows, a tab set’s horizontal offset in pixels. (^VAL)
Arguments
tabset_id
The ID of a tab set container window (the ID returned by the DTS_CREATE subfunction to %TS_TABSET). (n)
Discussion
The D_TABXOFFSET subfunction of %U_WINMETRICS returns the distance in pixels from the left side of the client area of the tab set container window to the left side of the windows on the tabs. This distance includes the edge around the tab area and, if tabs are on the left, the width (x-axis measurement) of tabs.
Examples
The following example returns in x_offset (i4) the horizontal offset for the tab set specified by tabset_id.
x_offset = %U_WINMETRICS(D_TABXOFFSET, tabset_id)
y_offset = %U_WINMETRICS(D_TABYOFFSET, tabset_id)
Return value
y_offset
On Windows, a tab set’s vertical offset in pixels. (^VAL)
Arguments
tabset_id
The ID of a tab set container window (the ID returned by the DTS_CREATE subfunction to %TS_TABSET). (n)
Discussion
The D_TABYOFFSET subfunction of %U_WINMETRICS returns the distance in pixels from the top of the client area of the tab set container window to the top of the windows on the tabs. This distance includes the edge around the tab area and, if tabs are on the top, the height (y-axis measurement) of tabs.
Examples
The following example returns in y_offset (i4) the vertical offset for the tab set specified by tabset_id.
y_offset = %U_WINMETRICS(D_TABYOFFSET, tabset_id)
return = %U_WINMETRICS(D_VISIBLE_RECT, window_id, rect)
or
xcall U_WINMETRICS(D_VISIBLE_RECT, window_id, rect)
Return value
return
On Windows, true if successful, or false if not. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
rect
The returned rectangle coordinates for the points of the client area of the window, minus any area occupied by standard buttons. Rect is returned as a group of four i4 values, which are coordinates for the left, top, right, and bottom points (respectively) of the client area. (n)
Discussion
The D_VISIBLE_RECT subfunction of %U_WINMETRICS returns coordinates for the client area of a window, minus any area occupied by standard buttons. (The client area is the inside area of a window minus the frame, captions, information line, and footer.) These coordinates are returned in the rect argument, which is a group of i4 values for the left, top, right, and bottom points of the client area.
See the D_CLIENT_RECT Discussion for information on when D_CLIENT_RECT and D_VISIBLE_RECT must agree or differ.
Examples
The following example gets the visible rectangle for wndid in rect.
success = %U_WINMETRICS(D_VISIBLE_RECT, wndid, rect)
return = %U_WINMETRICS(D_VSCROLL_X)
Return value
return
On Windows, the width of a vertical scroll bar in pixels. (^VAL)
Discussion
The D_VSCROLL_X subfunction of %U_WINMETRICS returns the width of a vertical scroll bar in pixels.
Examples
The following example returns in pixel_width (i4) the width of a vertical scroll bar in pixels.
pixel_width = %U_WINMETRICS(D_VSCROLL_X)
return = %U_WINMETRICS(D_WINDOW_RECT, h_wnd, rect[, rel_pos])
or
xcall U_WINMETRICS(D_WINDOW_RECT, h_wnd, rect[, rel_pos])
Return value
return
On Windows, true if successful, or false if not. (^VAL)
Arguments
h_wnd
The handle for the window whose screen rectangle you want to retrieve. This doesn’t need to be a Synergy window. For example, this could be the handle for an ActiveX control, a window created by a DLL, or a window created by a different process. (n)
rect
The returned screen coordinates for the window. Rect is returned as a group of four i4 values, which contain the coordinates for the left, top, right, and bottom points (respectively) of the window. (n)
rel_pos
(optional) Determines whether the rect coordinates are relative to the screen or to the client area of the parent window. (n)
TRUE = Coordinates are relative to the upper-left corner of the screen.
FALSE = Coordinates are relative to the upper-left corner of the client area of the parent window. (default)
Discussion
The D_WINDOW_RECT subfunction of %U_WINMETRICS returns coordinates for the outside edges of the screen rectangle for the h_wnd window. This includes frames, borders, captions, and so forth. If rel_pos is passed and true, these coordinates are relative to the upper-left corner of the screen. If rel_pos is not passed or is false, these coordinates are relative to the upper-left corner of the client area of the parent window.
Examples
The following example returns the screen rectangle for wndid in rect. The returned coordinates will be relative to the screen.
success = %U_WINMETRICS(D_WINDOW_RECT, %w_info(WIF_HWND, wndid), rect, TRUE)
return = %U_WINMETRICS(D_XBORDER)
Return value
return
On Windows, the width in pixels of a vertical thin border. (^VAL)
Discussion
The D_XBORDER subfunction of %U_WINMETRICS returns the width in pixels of a vertical thin border.
Examples
The following example returns in pixel_width (i4) the width of the vertical side of a thin border.
pixel_width = %U_WINMETRICS(D_XBORDER)
return = %U_WINMETRICS(D_XFRAME)
Return value
return
On Windows, the width in pixels of a vertical side of a thick window frame. (^VAL)
Discussion
The D_XFRAME subfunction of %U_WINMETRICS returns the width, in pixels, of a vertical side of a thick window frame.
Examples
The following example returns in pixel_width (i4) the width of the vertical side of a thick window frame.
pixel_width = %U_WINMETRICS(D_XFRAME)
return = %U_WINMETRICS(D_XORIGIN, window_id)
Return value
return
On Windows, the offset in pixels of the first visible column from the left side of the client area for the specified window. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
Discussion
The D_XORIGIN subfunction of %U_WINMETRICS returns the offset in pixels of the first visible column from the left side of the client area of the window specified by window_id.
Examples
The following example returns in offset (i4) the number of pixels between the first visible column and the left side of the client area for wndid.
offset = %U_WINMETRICS(D_XORIGIN, wndid)
return = %U_WINMETRICS(D_XTOCOL, window_id, x_value)
Return value
return
On Windows, the number of the column that contains a given x-axis (horizontal) coordinate for a pixel. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
x_value
The x-axis (horizontal) coordinate for a pixel. This number must be based on the display area origin (where the 0, 0 pixel is at the top left of the display area). (n)
Discussion
The D_XTOCOL subfunction of %U_WINMETRICS returns the number of the column that contains the pixel whose x-axis coordinate is x_value in the window specified by window_id. This subfunction assumes x_value is based on the display area origin, a coordinate system in which the 0, 0 pixel is at the top left of the display area.
When using proportional fonts in conjunction with D_XTOCOL, the returned column value may not be correct. This value is based on the sizing character for the window, not any actual text.
Examples
This example returns in column_num (i4) the number of the column with the specified pixel.
column_num = %U_WINMETRICS(D_XTOCOL, wndid, xpos)
return = %U_WINMETRICS(D_YBORDER)
Return value
return
On Windows, the height (thickness) in pixels of a horizontal thin border. (^VAL)
Discussion
The D_YBORDER subfunction of %U_WINMETRICS returns the height (thickness) in pixels of a horizontal thin border.
Examples
The following example returns in pixel_height (i4) the height of the horizontal side of a thin border.
pixel_height = %U_WINMETRICS(D_YBORDER)
return = %U_WINMETRICS(D_YCAPTION)
Return value
return
On Windows, the height in pixels of a caption bar. This includes the height of the upper frame. (^VAL)
Discussion
The D_YCAPTION subfunction of %U_WINMETRICS returns the height in pixels of a caption bar. This height includes the height of the upper frame.
Examples
The following example returns in pixel_height (i4) the height of the caption bar.
pixel_height = %U_WINMETRICS(D_YCAPTION)
return = %U_WINMETRICS(D_YFRAME)
Return value
return
On Windows, the thickness (height) in pixels of a horizontal side of a thick window frame. (^VAL)
Discussion
The D_YFRAME subfunction of %U_WINMETRICS returns the thickness (height) in pixels of a horizontal side of a thick window frame.
Examples
The following example returns in pixel_height (i4) the height of the horizontal side of a thick window frame.
pixel_height = %U_WINMETRICS(D_YFRAME)
return = %U_WINMETRICS(D_YORIGIN, window_id)
Return value
return
On Windows, the offset in pixels of the first visible row from the top of the client area for the specified window. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
Discussion
The D_YORIGIN subfunction of %U_WINMETRICS returns the offset in pixels of the first visible row from the top of the client area of the window specified by window_id.
Examples
The following example returns in offset (i4) the number of pixels between the first visible row and the top of the client area for wndid.
offset = %U_WINMETRICS(D_YORIGIN, wndid)
return = %U_WINMETRICS(D_YTOROW, window_id, y_value)
Return value
return
On Windows, the number of the row that contains a given y-axis (vertical) coordinate for a pixel. (^VAL)
Arguments
window_id
The window ID or one of the following: (n)
The application window (excluding border and caption).
The container window for the Synergy application (including the border and caption).
y_value
The y-axis (vertical) coordinate for a pixel. This number must be based on the display area origin (where the 0,0 pixel is at the top left of the display area). (n)
Discussion
The D_YTOROW of %U_WINMETRICS subfunction returns the number of the row that contains the pixel whose y-axis coordinate is y_value in the window specified by window_id. This subfunction assumes y_value is based on the display area origin, a coordinate system in which the 0, 0 pixel is at the top left of the display area.
Examples
The following example returns in row_num (i4) the row number that contains the specified pixel for wndid.
row_num = %U_WINMETRICS(D_YTOROW, wndid, ypos)