Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/22/2024
Public
Document Table of Contents

SETWSIZEQQ

QuickWin Function: Sets the size and position of a window. This routine is only available for Windows.

Module

USE IFQWIN

result = SETWSIZEQQ (unit, winfo)

unit

(Input) INTEGER(4). Specifies the window unit. Unit numbers 0, 5, and 6 refer to the default startup window only if the program does not explicitly open them with the OPEN statement. To set the size of the frame window (as opposed to a child window), set unit to the symbolic constant QWIN$FRAMEWINDOW (defined in IFQWIN.F90).

When called from INITIALSETTINGS, SETWSIZEQQ behaves slightly differently than when called from a user routine after initialization. See below under Results.

winfo

(Input) Derived type qwinfo. Physical coordinates of the window's upper-left corner, and the current or maximum height and width of the window's client area (the area within the frame). The derived type qwinfois defined in IFQWIN.F90 as follows:

 TYPE QWINFO
    INTEGER(2) TYPE  ! request type
    INTEGER(2) X     ! x coordinate for upper left
    INTEGER(2) Y     ! y coordinate for upper left
    INTEGER(2) H     ! window height
    INTEGER(2) W     ! window width
 END TYPE QWINFO

This function's behavior depends on the value of QWINFO%TYPE, which can be any of the following:

  • QWIN$MIN - Minimizes the window.

  • QWIN$MAX - Maximizes the window.

  • QWIN$RESTORE - Restores the minimized window to its previous size.

  • QWIN$SET - Sets the window's position and size according to the other values in qwinfo.

Results

The result type is INTEGER(4). The result is zero if successful; otherwise, nonzero (unless called from INITIALSETTINGS). If called from INITIALSETTINGS, the following occurs:

  • SETWSIZEQQ always returns -1.

  • Only QWIN$SET will work.

The position and dimensions of child windows are expressed in units of character height and width. The position and dimensions of the frame window are expressed in screen pixels.

The height and width specified for a frame window reflects the actual size in pixels of the frame window including any borders, menus, and status bar at the bottom.

Example

 USE IFQWIN
 INTEGER(4)     result
 INTEGER(2)     numfonts, fontnum
 TYPE (qwinfo)  winfo
 TYPE (xycoord) pos
 ! Maximize frame window
 winfo%TYPE = QWIN$MAX
 result =     SETWSIZEQQ(QWIN$FRAMEWINDOW, winfo)
 ! Maximize child window
 result =   SETWSIZEQQ(0, winfo)
 numfonts = INITIALIZEFONTS( )
 fontnum =  SETFONT ('t''Arial''h50w34i')
 CALL MOVETO (INT2(10), INT2(30), pos)
 CALL OUTGTEXT("BIG Window")
 END