Skip to main content
Version: 2025

SalGroupBox

Namespace: PPJ.Runtime.Windows

Assembly: PPJ.Web.50 (5.0.0.0)

Groups child controls inside a titled container with SAL window behavior.

public class SalGroupBox : GroupBox, ISalWindow

Example:

using PPJ.Runtime.Windows;

var group = new SalGroupBox { Text = "Options" };
group.Controls.Add(new SalCheckBox { Text = "Enabled" });

Constructors

Instance member SalGroupBox()

Initializes a group container and its SAL window implementation.

Properties

Instance member NamedProperties

SalNamedProperties: Gets this window's SAL named-property collection.

Methods

Instance member BringWindowToTop()

Brings this control to the front, or activates it when it is a top-level or MDI form.

Returns: SalBoolean. True if the translated control exists and is not disposed; otherwise, false.

Instance member CenterWindow()

Centers this window within its parent, owner, or available screen area.

Returns: SalBoolean. True if the centering operation is accepted; false for an unavailable control, design mode, or unavailable screen bounds.

Instance member ClearCursor(nType)

Restores the default cursor for the requested role.

ParameterTypeDescription
nTypeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Only the window role changes the displayed cursor. Drag/drop roles are accepted for SAL windows without changing a cursor.

Instance member DestroyWindow()

Closes this window when it is a form, or disposes the control.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

A true result reports that the close or disposal request was made; a form can apply its own closing behavior.

Instance member DisableWindow()

Disables input to this control, or clears editability for a table column.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Protected member Dispose(disposing)

Marks this SAL window disposed before releasing the base control resources.

ParameterTypeDescription
disposingBooleanTrue to release managed resources; false for finalization cleanup.

Instance member EnableWindow()

Enables input to this control, or enables editing for a table column.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

For text-box controls, this operation also clears the read-only setting.

Instance member FindChild(sWindowName)

Searches this window for a child control by name.

ParameterTypeDescription
sWindowNameSalStringThe child control name to locate.

Returns: SalWindowHandle. The matching child handle, or a null SAL handle if no child is found.

Instance member FireWindowActions(nMsg, nMywParam, nMylParam)

Invokes the SAL action dispatch pipeline for this control.

ParameterTypeDescription
nMsgSalNumberThe SAL or application-defined message code.
nMywParamSalNumberThe first message parameter.
nMylParamSalNumberThe second message parameter.

Returns: SalNumber. The return value in the dispatched action's event data.

Instance member FireWindowActionsToChildren(nMsg, nMywParam, nMylParam)

Dispatches a SAL action to this container's child controls.

ParameterTypeDescription
nMsgInt32The SAL or application-defined action code.
nMywParamSalNumberThe first action parameter.
nMylParamSalNumberThe second action parameter.

Returns: SalBoolean. The child-dispatch result, or false if the translated container is unavailable or disposed.

Instance member FormUnitsToPixels(nFormUnits, bVertical)

Converts a length in form units to pixels using this control's form metrics.

ParameterTypeDescription
nFormUnitsSalNumberThe length in form units.
bVerticalSalBooleanTrue for a vertical measurement; false for a horizontal measurement.

Returns: SalNumber. The converted pixel length.

Instance member GetClassName()

Gets the application class name associated with this control.

Returns: SalString. The application class name, an empty string for runtime-defined classes, or a SAL null string when the control cannot be resolved.

Forms are represented by their base type; nested table-window types are resolved to their non-nested base.

Instance member GetControlType()

Gets the SAL window type of this control.

Returns: SalNumber. The SAL Sys.TYPE_* code for the translated control.

Instance member GetFirstChild(nTypeMask)

Finds the first child matching a SAL window-type mask.

ParameterTypeDescription
nTypeMaskSalNumberThe SAL window types to include; zero matches no controls.

Returns: SalWindowHandle. The first matching child handle, or a null SAL handle when none matches.

Ordinary controls use tab order; table columns use their creation order, and MDI forms use their child-form collection.

Instance member GetFont(sName, nSize, nEnhancement)

Reads the control font's family, point size, and style flags.

ParameterTypeDescription
sName by referenceSalStringReceives the font family name.
nSize by referenceSalNumberReceives the size in points.
nEnhancement by referenceSalNumberReceives the combined Sys.FONT_Enh* style flags.

Returns: SalBoolean. True if a font was available; otherwise, false.

Instance member GetLocation(nX, nY)

Reads this control's location in form units.

ParameterTypeDescription
nX by referenceSalNumberReceives the horizontal location.
nY by referenceSalNumberReceives the vertical location.

Returns: SalBoolean. Always true; an unresolved control produces zero coordinates.

Instance member GetName(sText)

Copies this control's name to the supplied variable.

ParameterTypeDescription
sText by referenceSalStringReceives the control name when the operation succeeds.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Instance member GetName()

Gets this control's name.

Returns: SalString. The control name, or an empty string if the control cannot be resolved.

Instance member GetNextChild(nTypeMask)

Finds the next sibling matching a SAL window-type mask.

ParameterTypeDescription
nTypeMaskSalNumberThe SAL window types to include; zero matches no controls.

Returns: SalWindowHandle. The next matching control handle, or a null SAL handle when none matches.

Instance member GetParent()

Gets the SAL parent form, owner, or table container for this control.

Returns: SalWindowHandle. The parent window handle, or a null SAL handle if no parent can be resolved.

Instance member GetProperty(sName, sValue)

Reads a SAL named property into a supplied variable.

ParameterTypeDescription
sNameSalStringThe property name.
sValue by referenceSalStringReceives the value only when the property is found.

Returns: SalBoolean. True if a non-null property value was found; otherwise, false.

Instance member GetProperty(sName)

Gets the value of a SAL named property.

ParameterTypeDescription
sNameSalStringThe property name.

Returns: SalString. The property value, or a SAL null string if the value is unavailable.

Instance member GetSize(nWidth, nHeight)

Reads this control's size in form units.

ParameterTypeDescription
nWidth by referenceSalNumberReceives the width.
nHeight by referenceSalNumberReceives the height.

Returns: SalBoolean. Always true; an unresolved control produces a zero size.

Instance member GetText(sText, nMaxLen)

Copies this control's displayed text or long-string value to a SAL string.

ParameterTypeDescription
sText by referenceSalStringReceives the retrieved text.
nMaxLenSalNumberThe maximum character count for ordinary text; ignored for a Sys.DT_LongString value.

Returns: SalNumber. The number of characters copied, or zero when no text is available.

Instance member GetText(nMaxLen)

Gets this control's displayed text or long-string value.

ParameterTypeDescription
nMaxLenSalNumberThe maximum character count for ordinary text; ignored for a Sys.DT_LongString value.

Returns: SalString. The retrieved text, or an empty string if the control cannot be resolved.

Instance member GetWindowColor(nColorIndex)

Reads a window or cell color as a Win32 color value.

ParameterTypeDescription
nColorIndexSalNumberThe Sys.COLOR_Index* color component to read.

Returns: SalNumber. The color encoded as a Win32 color value, or zero if the control is unavailable.

Instance member GetWindowState()

Gets the visibility and form-state classification of this window.

Returns: SalNumber. A Sys.Window_* state code; visible non-form controls report Sys.Window_Normal.

Instance member HideWindow()

Hides this control or table column.

Returns: SalBoolean. The visibility state before the operation, or false if the control cannot be resolved.

Instance member InvalidateWindow()

Invalidates this control and its child controls for repainting.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Instance member IsDerivedFromClass(tClass)

Tests this control's runtime type against an application base type.

ParameterTypeDescription
tClassTypeThe type to test, including the framework's emulated inheritance relationships.

Returns: SalBoolean. True if the runtime type derives from the requested type; otherwise, false.

Instance member IsEnabled()

Determines whether this control accepts input.

Returns: SalBoolean. The enabled state, or the editable flag for a table column; false if the control cannot be resolved.

Instance member IsVisible()

Determines whether this control is visible.

Returns: SalBoolean. The visible state, or the visibility flag for a table column; false if the control cannot be resolved.

Instance member KillTimer(nIDEvent)

Stops an existing timer owned by this control.

ParameterTypeDescription
nIDEventSalNumberThe identifier used when the timer was started.

Returns: SalBoolean. True if the timer was found and stopped; otherwise, false.

The timer remains registered and can be restarted by SetTimer.

Instance member MoveWindow(nXOffset, nYOffset)

Moves this control by an offset expressed in form units.

ParameterTypeDescription
nXOffsetSalNumberThe horizontal offset to add to the current position.
nYOffsetSalNumberThe vertical offset to add to the current position.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Protected member OnGotFocus(e)

Dispatches SAL focus-gained processing before raising the inherited focus event.

ParameterTypeDescription
eEventArgsThe focus event data.

Protected member OnLostFocus(e)

Dispatches SAL focus-lost processing before raising the inherited focus event.

ParameterTypeDescription
eEventArgsThe focus event data.

Protected member OnWebEvent(e)

Processes the browser event in a root SAL context, then dispatches its simulated WinSDK event.

ParameterTypeDescription
eWisejEventArgsThe browser event to process.

Protected member OnWebRender(config)

Adds the SAL client component class to the configuration rendered by the base control.

ParameterTypeDescription
configObjectThe mutable configuration sent to the browser.

Instance member PixelsToFormUnits(nNumPixels, bVertical)

Converts a pixel length to form units using this control's form metrics.

ParameterTypeDescription
nNumPixelsSalNumberThe pixel length to convert.
bVerticalSalBooleanTrue for a vertical measurement; false for a horizontal measurement.

Returns: SalNumber. The converted length in form units.

Instance member PostMessage(nMsg, nMywParam, nMylParam)

Queues a SAL window action for later dispatch on the application context.

ParameterTypeDescription
nMsgSalNumberThe SAL or application-defined message code.
nMywParamSalNumberThe first message parameter.
nMylParamSalNumberThe second message parameter.

Returns: SalBoolean. True if the action was queued; false if the control is unavailable or disposed.

Instance member SendMessage(nMsg, nMywParam, nMylParam)

Dispatches a SAL window action synchronously and returns its result.

ParameterTypeDescription
nMsgSalNumberThe SAL or application-defined message code.
nMywParamSalNumberThe first message parameter.
nMylParamSalNumberThe second message parameter.

Returns: SalNumber. The action's return value, or zero if the target is unavailable or disposed.

Instance member SendMessageToChildren(nMsg, nMywParam, nMylParam)

Dispatches a SAL message to this control's children.

ParameterTypeDescription
nMsgSalNumberThe SAL or application-defined message code.
nMywParamSalNumberThe first message parameter.
nMylParamSalNumberThe second message parameter.

Returns: SalBoolean. The result of child-message dispatch; false if the parent is unavailable or disposed.

Instance member SetContextMenu(sMenuName, nFlags)

Creates and assigns a context menu for this control.

ParameterTypeDescription
sMenuNameSalStringThe name used to resolve the menu type.
nFlagsSalNumberUse Sys.CM_TableCell to target the associated table column; other values target the control.

Returns: SalBoolean. True if the menu was created; false if the control or menu type is unavailable or menu creation fails.

Instance member SetContextMenu(menuType, nFlags)

Creates and assigns a context menu for this control.

ParameterTypeDescription
menuTypeTypeThe type of the menu to create.
nFlagsSalNumberUse Sys.CM_TableCell to target the associated table column; other values target the control.

Returns: SalBoolean. True if the menu was created; false if the control or menu type is unavailable or menu creation fails.

Instance member SetCursor(nResourceId, nType)

Assigns a predefined cursor to the requested role.

ParameterTypeDescription
nResourceIdInt32A supported Sys.CURSOR_* cursor identifier.
nTypeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Only the window role changes the displayed cursor. Drag/drop roles are accepted for SAL windows without changing a cursor.

Instance member SetCursor(sBlob, nType)

Requests a cursor from binary data; this web implementation does not support binary cursor loading.

ParameterTypeDescription
sBlobSalStringThe binary cursor data.
nTypeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

Returns: SalBoolean. Always false.

Instance member SetCursorFile(sFile, nType)

Loads a cursor from a file and assigns it to the requested role.

ParameterTypeDescription
sFileSalStringThe cursor file path.
nTypeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

Returns: SalBoolean. True if loading and assignment succeed; otherwise, false.

Only the window role changes the displayed cursor. Drag/drop roles are accepted for SAL windows without changing a cursor.

Instance member SetFocus()

Requests keyboard focus for this control.

Returns: SalWindowHandle. The previously focused control's handle, or a null SAL handle when no previous control exists or this target is ineligible.

Hidden or disabled controls and table columns are ineligible.

Instance member SetFont(sName, nSize, nEnhancement)

Creates and assigns a font to this control.

ParameterTypeDescription
sNameSalStringThe font family name.
nSizeSalNumberThe font size in points.
nEnhancementSalNumberThe combined Sys.FONT_Enh* style flags.

Returns: SalBoolean. True if the font was created and assigned; otherwise, false.

Instance member SetLocation(nX, nY)

Sets this control's location in form units.

ParameterTypeDescription
nXSalNumberThe new horizontal coordinate.
nYSalNumberThe new vertical coordinate.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

For forms, this also selects manual startup positioning.

Instance member SetProperty(sName, sValue, nLength)

Assigns a SAL named property after limiting the value's length.

ParameterTypeDescription
sNameSalStringThe property name.
sValueSalStringThe value to assign.
nLengthSalNumberThe number of leading characters to retain.

Returns: SalBoolean. True if the translated control implements the SAL window contract; otherwise, false.

Instance member SetSize(nWidth, nHeight)

Sets this control's dimensions in form units.

ParameterTypeDescription
nWidthSalNumberThe new width.
nHeightSalNumberThe new height.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Instance member SetText(sText)

Assigns the control's text.

ParameterTypeDescription
sTextSalStringThe text to display.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Instance member SetTimer(nIDEvent, nElapseMilliSec)

Starts or restarts a timer that sends SAL timer actions to this control.

ParameterTypeDescription
nIDEventSalNumberThe timer identifier sent in the first parameter of each Sys.SAM_Timer action.
nElapseMilliSecSalNumberThe interval between ticks, in milliseconds.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Instance member SetWindowColor(nColorIndex, nColor)

Assigns a window or table-cell color.

ParameterTypeDescription
nColorIndexSalNumberThe Sys.COLOR_Index* component to change.
nColorSalNumberThe SAL color value to translate and assign.

Returns: SalBoolean. True for a supported color index and resolved control; otherwise, false.

Cell colors apply only to table columns. Window colors on table windows also update their grid styles.

Instance member ShowWindow()

Shows this control or table column.

Returns: SalBoolean. The visibility state before the operation, or false if the control cannot be resolved.

Instance member TrackPopupMenu(sMenuName, nFlags, nX, nY, callback)

Creates and displays a popup menu, disposing it after it closes.

ParameterTypeDescription
sMenuNameSalStringThe name used to resolve the menu type.
nFlagsSalNumberPopup flags controlling right alignment and use of the current cursor coordinates. Center alignment and context-menu flags are not supported.
nXSalNumberThe horizontal screen coordinate in pixels, unless the cursor-X flag is set.
nYSalNumberThe vertical screen coordinate in pixels, unless the cursor-Y flag is set.
callback optionalAction<ContextMenu>An optional callback invoked when the menu closes, before it is disposed.

Returns: SalBoolean. True if the menu was created and shown; otherwise, false.

Instance member TrackPopupMenu(menuType, nFlags, nX, nY, callback)

Creates and displays a popup menu, disposing it after it closes.

ParameterTypeDescription
menuTypeTypeThe menu type to instantiate.
nFlagsSalNumberPopup flags controlling right alignment and use of the current cursor coordinates. Center alignment and context-menu flags are not supported.
nXSalNumberThe horizontal screen coordinate in pixels, unless the cursor-X flag is set.
nYSalNumberThe vertical screen coordinate in pixels, unless the cursor-Y flag is set.
callback optionalAction<ContextMenu>An optional callback invoked when the menu closes, before it is disposed.

Returns: SalBoolean. True if the menu was created and shown; otherwise, false.

Instance member UpdateWindow()

Requests an update of this control.

Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.

Events

Instance member WindowActions

WindowActionsEventHandler Occurs when the control receives a SAL or application-defined window action.

Implements

NameDescription
ISalWindowProvides SAL window actions, named properties, and access to a window's runtime implementation.