Silverfrost Logo About Us | Contact Us

%ps - Property Sheet Container


To produce layered windows in a card-index style (property sheet).


winio@('%Nps[option]', sheet1sheet2, . . . , sheetN)
winio@('%`Nps[option]', sheet1sheet2, . . . , sheetN, sheet_n)
integer sheet1sheet2, . . . , sheetN     (input)
integer sheet_n                         (input/output)


Grave accent (`) - provides for a handle (sheet_n) to set and return the current sheet number. sheet_n must be SAVEd or global (e.g. in a module or common block).

Caret (^) - the call-back function is called each time the sheet is changed and when the first sheet is initially displayed.

Tilde (~) - the list of "state controls" is replaced by a single array.


N is the number of sheets. sheet1 to sheetN are handles for the various sheets returned by %sh - Property Sheet.

Each sheet is set up using a complete winio@ format and %sh - Property Sheet.

clearwin_info@('SHEET_NO') can be used to return the current visible sheet number which is initially set to one. Alternatively, a grave accent modifier can be supplied in order to set the initial sheet (at a value other than one) and to change the sheet number under program (rather than user) control. The program can change the sheet number by changing sheet_n and calling see_propertysheet_page@(sheet_n).

%ca - Caption can be used with %sh to provide a caption. The caption can include an accelerator key indicator '&' which operates in the same way as in a menu or on a button to select the sheet.

If a call is made to the Windows API function EnableWindow to disable one sheet, then that sheet will no longer be selectable unless/until the window is re-enabled. If the sheet that is currently visible is disabled, another sheet will not automatically be selected. However, when another sheet is selected, a disabled sheet will not be re-selectable.

option can be set to the keyword ms_style in order to use a Microsoft tab control instead of the internal ClearWin+ control (the appearance of the Microsoft tab control is changed by using the XP manifest). option can also be set to the keywords bottom and hot_track both of which imply ms_style. [bottom] places the tabs at the bottom of the control whilst [hot_track] changes the appearance of the tab when the mouse hovers over it.


If an individual sheet is closed (e.g. by placing a button without a callback function in the sheet) then the parent window will close.

See also

%sh - Property Sheet




Copyright © 1999-2018 Silverfrost Limited