XSalSplitter
Namespace: PPJ.Runtime.XSal
Assembly: PPJ.Web.XSal.50 (5.0.0.0)
Hosts two panels with XSal splitter positions, styles, panel captions, and SAL window actions.
- C#
- VB.NET
public class XSalSplitter : SplitContainer, ISalWindow, ISalAccessory
Public Class XSalSplitter
Inherits SplitContainer
Implements ISalWindow, ISalAccessory
Example:
XSalSplitter split = new XSalVSplitter();
split.FirstControl = new SalListBox();
split.SecondControl = new SalMultilineEdit();
split.Text = "Items;Details";
split.Position = 500;
Properties
FirstControl
Control: Gets or sets the control docked to fill the first panel. Assigning null clears all controls from that panel.
InvertDocking
Boolean: Gets or sets whether Position is measured from the opposite edge and the second panel is fixed in absolute mode. (Default: False)
MinExtra
Int32: Gets or sets the second panel’s minimum size in pixels. (Default: 0)
MinSize
Int32: Gets or sets the first panel’s minimum size in pixels. (Default: 0)
NamedProperties
SalNamedProperties: Gets this window's SAL named-property collection.
Position
Int32: Gets or sets the splitter position in thousandths when Proportional is true, or pixels otherwise. Positions that cannot yet be applied are deferred until resize.
Proportional
Boolean: Gets or sets whether Position uses thousandths of the total size instead of pixels. Disabling it fixes the first panel, or the second when InvertDocking is true. (Default: True)
SecondControl
Control: Gets or sets the control docked to fill the second panel. Assigning null clears all controls from that panel.
Text
String: Gets or sets semicolon-separated captions for the first and second panels. Empty or omitted captions hide the corresponding header. (Default: "")
Methods
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.
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.
ClearCursor(nType)
Restores the default cursor for the requested role.
| Parameter | Type | Description |
|---|---|---|
| nType | SalNumber | The 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.
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.
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.
Dispose(disposing)
Marks this SAL window disposed before releasing the base control resources.
| Parameter | Type | Description |
|---|---|---|
| disposing | Boolean | True to release managed resources; false for finalization cleanup. |
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.
FindChild(sWindowName)
Searches this window for a child control by name.
| Parameter | Type | Description |
|---|---|---|
| sWindowName | SalString | The child control name to locate. |
Returns: SalWindowHandle. The matching child handle, or a null SAL handle if no child is found.
FormUnitsToPixels(nFormUnits, bVertical)
Converts a length in form units to pixels using this control's form metrics.
| Parameter | Type | Description |
|---|---|---|
| nFormUnits | SalNumber | The length in form units. |
| bVertical | SalBoolean | True for a vertical measurement; false for a horizontal measurement. |
Returns: SalNumber. The converted pixel length.
FromHandle(handle)
Resolves a control handle and casts it to XSalSplitter.
| Parameter | Type | Description |
|---|---|---|
| handle | SalWindowHandle | The splitter’s window handle. |
Returns: XSalSplitter. The splitter, or null when the handle resolves to no control.
GetBarPosition()
Gets the current or deferred splitter position.
Returns: SalNumber. The position in thousandths or pixels, according to Proportional.
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.
GetControlType()
Gets the SAL window type of this control.
Returns: SalNumber. The SAL Sys.TYPE_* code for the translated control.
GetFirstChild(nTypeMask)
Finds the first child matching a SAL window-type mask.
| Parameter | Type | Description |
|---|---|---|
| nTypeMask | SalNumber | The 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.
GetFont(sName, nSize, nEnhancement)
Reads the control font's family, point size, and style flags.
| Parameter | Type | Description |
|---|---|---|
| sName | SalString | Receives the font family name. |
| nSize | SalNumber | Receives the size in points. |
| nEnhancement | SalNumber | Receives the combined Sys.FONT_Enh* style flags. |
Returns: SalBoolean. True if a font was available; otherwise, false.
GetLocation(nX, nY)
Reads this control's location in form units.
| Parameter | Type | Description |
|---|---|---|
| nX | SalNumber | Receives the horizontal location. |
| nY | SalNumber | Receives the vertical location. |
Returns: SalBoolean. Always true; an unresolved control produces zero coordinates.
GetName(sText)
Copies this control's name to the supplied variable.
| Parameter | Type | Description |
|---|---|---|
| sText | SalString | Receives the control name when the operation succeeds. |
Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.
GetName()
Gets this control's name.
Returns: SalString. The control name, or an empty string if the control cannot be resolved.
GetNextChild(nTypeMask)
Finds the next sibling matching a SAL window-type mask.
| Parameter | Type | Description |
|---|---|---|
| nTypeMask | SalNumber | The SAL window types to include; zero matches no controls. |
Returns: SalWindowHandle. The next matching control handle, or a null SAL handle when none matches.
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.
GetProperty(sName, sValue)
Reads a SAL named property into a supplied variable.
| Parameter | Type | Description |
|---|---|---|
| sName | SalString | The property name. |
| sValue | SalString | Receives the value only when the property is found. |
Returns: SalBoolean. True if a non-null property value was found; otherwise, false.
GetProperty(sName)
Gets the value of a SAL named property.
| Parameter | Type | Description |
|---|---|---|
| sName | SalString | The property name. |
Returns: SalString. The property value, or a SAL null string if the value is unavailable.
GetSize(nWidth, nHeight)
Reads this control's size in form units.
| Parameter | Type | Description |
|---|---|---|
| nWidth | SalNumber | Receives the width. |
| nHeight | SalNumber | Receives the height. |
Returns: SalBoolean. Always true; an unresolved control produces a zero size.
GetStyle()
Builds the splitter’s orientation, absolute-position, and resizing flags.
Returns: SplitterStyles. The current supported style flags. The Invisible flag is not included.
GetText(sText, nMaxLen)
Copies this control's displayed text or long-string value to a SAL string.
| Parameter | Type | Description |
|---|---|---|
| sText | SalString | Receives the retrieved text. |
| nMaxLen | SalNumber | The 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.
GetText(nMaxLen)
Gets this control's displayed text or long-string value.
| Parameter | Type | Description |
|---|---|---|
| nMaxLen | SalNumber | The 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.
GetWindowColor(nColorIndex)
Reads a window or cell color as a Win32 color value.
| Parameter | Type | Description |
|---|---|---|
| nColorIndex | SalNumber | The Sys.COLOR_Index* color component to read. |
Returns: SalNumber. The color encoded as a Win32 color value, or zero if the control is unavailable.
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.
HideWindow()
Hides this control or table column.
Returns: SalBoolean. The visibility state before the operation, or false if the control cannot be resolved.
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.
IsDerivedFromClass(tClass)
Tests this control's runtime type against an application base type.
| Parameter | Type | Description |
|---|---|---|
| tClass | Type | The type to test, including the framework's emulated inheritance relationships. |
Returns: SalBoolean. True if the runtime type derives from the requested type; otherwise, false.
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.
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.
KillTimer(nIDEvent)
Stops an existing timer owned by this control.
| Parameter | Type | Description |
|---|---|---|
| nIDEvent | SalNumber | The 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.
MoveWindow(nXOffset, nYOffset)
Moves this control by an offset expressed in form units.
| Parameter | Type | Description |
|---|---|---|
| nXOffset | SalNumber | The horizontal offset to add to the current position. |
| nYOffset | SalNumber | The vertical offset to add to the current position. |
Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.
OnResize(e)
Reapplies any deferred splitter position after resizing.
| Parameter | Type | Description |
|---|---|---|
| e | EventArgs | The resize event data. |
PixelsToFormUnits(nNumPixels, bVertical)
Converts a pixel length to form units using this control's form metrics.
| Parameter | Type | Description |
|---|---|---|
| nNumPixels | SalNumber | The pixel length to convert. |
| bVertical | SalBoolean | True for a vertical measurement; false for a horizontal measurement. |
Returns: SalNumber. The converted length in form units.
PostMessage(nMsg, nMywParam, nMylParam)
Queues a SAL window action for later dispatch on the application context.
| Parameter | Type | Description |
|---|---|---|
| nMsg | SalNumber | The SAL or application-defined message code. |
| nMywParam | SalNumber | The first message parameter. |
| nMylParam | SalNumber | The second message parameter. |
Returns: SalBoolean. True if the action was queued; false if the control is unavailable or disposed.
SendMessage(nMsg, nMywParam, nMylParam)
Dispatches a SAL window action synchronously and returns its result.
| Parameter | Type | Description |
|---|---|---|
| nMsg | SalNumber | The SAL or application-defined message code. |
| nMywParam | SalNumber | The first message parameter. |
| nMylParam | SalNumber | The second message parameter. |
Returns: SalNumber. The action's return value, or zero if the target is unavailable or disposed.
SendMessageToChildren(nMsg, nMywParam, nMylParam)
Dispatches a SAL message to this control's children.
| Parameter | Type | Description |
|---|---|---|
| nMsg | SalNumber | The SAL or application-defined message code. |
| nMywParam | SalNumber | The first message parameter. |
| nMylParam | SalNumber | The second message parameter. |
Returns: SalBoolean. The result of child-message dispatch; false if the parent is unavailable or disposed.
SetBarPosition(nPos)
Assigns the splitter position using the current proportional and docking settings.
| Parameter | Type | Description |
|---|---|---|
| nPos | SalNumber | The position in thousandths or pixels, according to Proportional. |
Returns: SalBoolean. True, including when application of the position is deferred.
SetBarSize(nSize)
Sets the splitter bar width in pixels.
| Parameter | Type | Description |
|---|---|---|
| nSize | SalNumber | The new bar width. |
Returns: SalBoolean. True.
SetContextMenu(sMenuName, nFlags)
Creates and assigns a context menu for this control.
| Parameter | Type | Description |
|---|---|---|
| sMenuName | SalString | The name used to resolve the menu type. |
| nFlags | SalNumber | Use 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.
SetContextMenu(menuType, nFlags)
Creates and assigns a context menu for this control.
| Parameter | Type | Description |
|---|---|---|
| menuType | Type | The type of the menu to create. |
| nFlags | SalNumber | Use 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.
SetCursor(nResourceId, nType)
Assigns a predefined cursor to the requested role.
| Parameter | Type | Description |
|---|---|---|
| nResourceId | Int32 | A supported Sys.CURSOR_* cursor identifier. |
| nType | SalNumber | The 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.
SetCursor(sBlob, nType)
Requests a cursor from binary data; this web implementation does not support binary cursor loading.
| Parameter | Type | Description |
|---|---|---|
| sBlob | SalString | The binary cursor data. |
| nType | SalNumber | The cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop. |
Returns: SalBoolean. Always false.
SetCursorFile(sFile, nType)
Loads a cursor from a file and assigns it to the requested role.
| Parameter | Type | Description |
|---|---|---|
| sFile | SalString | The cursor file path. |
| nType | SalNumber | The 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.
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.
SetFont(sName, nSize, nEnhancement)
Creates and assigns a font to this control.
| Parameter | Type | Description |
|---|---|---|
| sName | SalString | The font family name. |
| nSize | SalNumber | The font size in points. |
| nEnhancement | SalNumber | The combined Sys.FONT_Enh* style flags. |
Returns: SalBoolean. True if the font was created and assigned; otherwise, false.
SetLocation(nX, nY)
Sets this control's location in form units.
| Parameter | Type | Description |
|---|---|---|
| nX | SalNumber | The new horizontal coordinate. |
| nY | SalNumber | The 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.
SetMinMaxPosition(nMin, nMax)
Sets the minimum sizes of the first and second panels.
| Parameter | Type | Description |
|---|---|---|
| nMin | SalNumber | The first panel’s minimum size in pixels. |
| nMax | SalNumber | The second panel’s minimum size in pixels; this is not an absolute maximum position. |
Returns: SalBoolean. True.
SetProperty(sName, sValue, nLength)
Assigns a SAL named property after limiting the value's length.
| Parameter | Type | Description |
|---|---|---|
| sName | SalString | The property name. |
| sValue | SalString | The value to assign. |
| nLength | SalNumber | The number of leading characters to retain. |
Returns: SalBoolean. True if the translated control implements the SAL window contract; otherwise, false.
SetSize(nWidth, nHeight)
Sets this control's dimensions in form units.
| Parameter | Type | Description |
|---|---|---|
| nWidth | SalNumber | The new width. |
| nHeight | SalNumber | The new height. |
Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.
SetStyle(Style, bOn)
Applies supported orientation, absolute-position, resizing, and invisible-bar flags.
| Parameter | Type | Description |
|---|---|---|
| Style | SplitterStyles | The splitter flags to change. |
| bOn | SalBoolean | True to enable each selected flag; false to reverse it. |
Returns: SalBoolean. True.
SetText(sText)
Assigns the control's text.
| Parameter | Type | Description |
|---|---|---|
| sText | SalString | The text to display. |
Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.
SetTimer(nIDEvent, nElapseMilliSec)
Starts or restarts a timer that sends SAL timer actions to this control.
| Parameter | Type | Description |
|---|---|---|
| nIDEvent | SalNumber | The timer identifier sent in the first parameter of each Sys.SAM_Timer action. |
| nElapseMilliSec | SalNumber | The interval between ticks, in milliseconds. |
Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.
SetWindowColor(nColorIndex, nColor)
Assigns a window or table-cell color.
| Parameter | Type | Description |
|---|---|---|
| nColorIndex | SalNumber | The Sys.COLOR_Index* component to change. |
| nColor | SalNumber | The 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.
ShowWindow()
Shows this control or table column.
Returns: SalBoolean. The visibility state before the operation, or false if the control cannot be resolved.
TrackPopupMenu(sMenuName, nFlags, nX, nY)
Displays a popup menu owned by this splitter.
| Parameter | Type | Description |
|---|---|---|
| sMenuName | SalString | The popup-menu class name. |
| nFlags | SalNumber | The popup positioning and mouse-button flags. |
| nX | SalNumber | The horizontal popup coordinate. |
| nY | SalNumber | The vertical popup coordinate. |
Returns: SalBoolean. The result returned by SalWindow.TrackPopupMenu.
TrackPopupMenu(menuType, nFlags, nX, nY)
Displays a popup menu owned by this splitter.
| Parameter | Type | Description |
|---|---|---|
| menuType | Type | The popup-menu type. |
| nFlags | SalNumber | The popup positioning and mouse-button flags. |
| nX | SalNumber | The horizontal popup coordinate. |
| nY | SalNumber | The vertical popup coordinate. |
Returns: SalBoolean. The result returned by SalWindow.TrackPopupMenu.
UpdateWindow()
Requests an update of this control.
Returns: SalBoolean. True if the operation is accepted by the SAL window implementation; otherwise, false.
Events
WindowActions
WindowActionsEventHandler Occurs when the control receives a SAL or application-defined window action.
Inherited By
| Name | Description |
|---|---|
| XSalHSplitter | Separates two controls with a horizontal splitter. |
| XSalVSplitter | Separates two controls with a vertical splitter. |
Implements
| Name | Description |
|---|---|
| ISalAccessory | |
| ISalWindow |