Skip to main content

SalVerticalScrollBar

Namespace: PPJ.Runtime.Windows

Assembly: PPJ.Runtime.50 (5.0.0.0)

Provides a vertical Windows Forms scroll bar with SAL numeric value and window-action support.

public class SalVerticalScrollBar : VScrollBar, ISalWindow, ISalControl, IConvertible

Example:

void AddControl(System.Windows.Forms.Control parent)
{
var control = new PPJ.Runtime.Windows.SalVerticalScrollBar();
control.Name = "SalVerticalScrollBar";
parent.Controls.Add(control);
}

Constructors

Instance member SalVerticalScrollBar()

Initializes an unmodified scroll bar and synchronizes its SAL maximum with the base control.

Properties

Instance member Label

Control: Gets or sets the label associated with this control through the SAL window implementation.

Instance member Maximum

Int32: Gets or sets the effective user-reachable maximum by compensating for LargeChange.

The base maximum is stored as this value plus LargeChange minus one.

Instance member NamedProperties

SalNamedProperties: Gets the SAL named-property collection associated with this control.

Instance member Value

Int32: Gets or sets the scroll position, forwarding access to the derived control when this instance is an emulated secondary base.

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; otherwise, false.

Instance member CenterWindow()

Centers this window within its parent or, for a top-level form, its owner or screen working area.

Returns: SalBoolean. True when the translated control exists; otherwise, false.

A top-level form is constrained to the selected screen working area. A control without a parent is unchanged unless it is a top-level form.

Instance member Clear()

Clears the value or selection appropriate to this control type.

Returns: SalBoolean. False for an unavailable control or a form; otherwise, true.

Editable controls and labels have their text cleared; check boxes are unchecked; list selections are cleared. A date/time picker is set to the current date and time. Unrecognized control types are unchanged.

Instance member ClearCursor(type)

Restores the default cursor for a role, using the I-beam for TextBox subclasses.

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

Returns: SalBoolean. True if the cursor is assigned to a supported role; otherwise, false.

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.

Instance member DisableWindowAndLabel()

Disables input to this control and disables its associated label.

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

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.

Native disabled styles are also cleared. When needed, tab navigation is restored except for unchecked radio buttons.

Instance member EnableWindowAndLabel()

Enables input to this control and enables its associated label.

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

Instance member FindChild(windowName)

Searches this window for a child control by name.

ParameterTypeDescription
windowNameSalStringThe child control name to locate.

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

Instance member FireWindowActions(msg, mywParam, mylParam)

Invokes this control's SAL action handlers directly and returns their result.

ParameterTypeDescription
msgSalNumberThe action message code.
mywParamSalNumberThe first action parameter.
mylParamSalNumberThe second action parameter.

Returns: SalNumber. The result stored in the dispatched action arguments.

Instance member FormUnitsToPixels(formUnits, vertical)

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

ParameterTypeDescription
formUnitsSalNumberThe length in form units.
verticalSalBooleanTrue for a vertical measurement; false for a horizontal measurement.

Returns: SalNumber. The converted pixel length.

Instance member GetClassName()

Gets the translated application class name associated with this control.

Returns: SalString. The class name, an empty string for a runtime-defined class, or a null SAL string for an unresolved or native control.

Forms use their base type; nested table-window types are walked upward to a non-nested type.

Instance member GetControlType()

Gets the SAL window type of this control.

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

Instance member GetDataType()

Gets the SAL data type represented by this control.

Returns: SalNumber. The SAL data-type code, or zero if the translated control does not implement the SAL value contract.

Instance member GetFirstChild(typeMask)

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

ParameterTypeDescription
typeMaskSalNumberThe 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(name, size, enhancement)

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

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

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

Instance member GetLabel()

Gets the label associated with this control.

Returns: SalWindowHandle. The associated label handle, or a null SAL handle if no label can be found.

Instance member GetLabelText(text, maxLength)

Copies the associated label text to a supplied variable.

ParameterTypeDescription
text by referenceSalStringReceives the label text when it can be read.
maxLengthSalNumberThe maximum number of leading characters to copy.

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

Instance member GetLabelText(nMaxLength)

Gets this control's associated label text.

ParameterTypeDescription
nMaxLengthSalNumberThe maximum number of leading characters to return.

Returns: SalString. The label text limited to the requested length, or an empty string if no label exists.

Instance member GetLocation(x, y)

Reads this control's location in form units.

ParameterTypeDescription
x by referenceSalNumberReceives the horizontal location.
y by referenceSalNumberReceives the vertical location.

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

Instance member GetName(text)

Copies this control's name to the supplied variable.

ParameterTypeDescription
text 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(typeMask)

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

ParameterTypeDescription
typeMaskSalNumberThe 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(name, value)

Reads a SAL named property into a supplied variable.

ParameterTypeDescription
nameSalStringThe property name.
value 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(name)

Gets the value of a SAL named property.

ParameterTypeDescription
nameSalStringThe property name.

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

Instance member GetScrollBarPosition(pos)

Copies the current scroll position to a SAL number.

ParameterTypeDescription
pos by referenceSalNumberReceives the position, or zero if the translated target is not a scrollbar.

Returns: SalBoolean. True for this non-null control.

Instance member GetScrollBarPosition()

Gets the current scroll position.

Returns: SalNumber. The position, or zero if the translated target is not a scrollbar.

Instance member GetScrollBarRange(min, max, line, page)

Reads the scroll bounds and movement increments.

ParameterTypeDescription
min by referenceSalNumberReceives the minimum position.
max by referenceSalNumberReceives the adjusted SAL maximum position.
line by referenceSalNumberReceives the small-change increment.
page by referenceSalNumberReceives the large-change increment.

Returns: SalBoolean. True for this non-null control; a non-scrollbar translated target produces zero values.

Instance member GetSize(width, height)

Reads this control's size in form units.

ParameterTypeDescription
width by referenceSalNumberReceives the width.
height by referenceSalNumberReceives the height.

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

Instance member GetText(text, maxLen)

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

ParameterTypeDescription
text by referenceSalStringReceives the retrieved text.
maxLenSalNumberThe 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(maxLen)

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

ParameterTypeDescription
maxLenSalNumberThe 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(colorIndex)

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

ParameterTypeDescription
colorIndexSalNumberThe Sys.COLOR_Index* color component to read.

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

Transparent colors are reported as Sys.COLOR_None. Table-column window colors use the system window colors; cell colors use the column settings.

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 HideWindowAndLabel()

Hides this control and its associated label.

Returns: SalBoolean. The control's visibility before the operation, or false if it 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(typeClass)

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

ParameterTypeDescription
typeClassTypeThe 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 IsModified()

Reads this control's SAL modification flag.

Returns: SalBoolean. True if the control reports a modified value; otherwise, false.

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(idEvent)

Stops the native window timer with the specified identifier.

ParameterTypeDescription
idEventSalNumberThe timer identifier to remove.

Returns: SalBoolean. The native timer-removal result, or false if the control cannot be resolved.

Instance member MoveWindow(xOffset, yOffset)

Moves this control by an offset expressed in form units.

ParameterTypeDescription
xOffsetSalNumberThe horizontal offset to add to the current position.
yOffsetSalNumberThe 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 OnScroll(se)

Updates the position and modification flag and sends SAM_ScrollBar for scroll operations other than EndScroll.

ParameterTypeDescription
seScrollEventArgsThe scroll action and new position.

Instance member PixelsToFormUnits(numPixels, vertical)

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

ParameterTypeDescription
numPixelsSalNumberThe pixel length to convert.
verticalSalBooleanTrue for a vertical measurement; false for a horizontal measurement.

Returns: SalNumber. The converted length in form units.

Instance member PostMessage(msg, mywParam, mylParam)

Posts a native Windows message to this control for asynchronous processing.

ParameterTypeDescription
msgSalNumberThe Windows or SAL message code.
mywParamSalNumberThe first message parameter.
mylParamSalNumberThe second message parameter.

Returns: SalBoolean. True if the native message was posted; false for an unavailable or disposed control, or if posting fails.

Instance member SendMessage(msg, mywParam, mylParam)

Sends a native Windows message to this control synchronously.

ParameterTypeDescription
msgSalNumberThe Windows or SAL message code.
mywParamSalNumberThe first message parameter.
mylParamSalNumberThe second message parameter.

Returns: SalNumber. The native message result, or zero when the control is unavailable or disposed.

Instance member SendMessageToChildren(msg, mywParam, mylParam)

Sends a message to this control's child windows and eligible descendants.

ParameterTypeDescription
msgSalNumberThe Windows or SAL message code.
mywParamSalNumberThe first message parameter.
mylParamSalNumberThe second message parameter.

Returns: SalBoolean. True after dispatching; false when the parent is unavailable or disposed.

Traversal does not descend into embedded forms or user controls. Close and destroy messages for ordinary child controls are routed to their action handlers instead of their native window procedures.

Instance member SetContextMenu(menuName, flags)

Creates and assigns a context menu for this control.

ParameterTypeDescription
menuNameSalStringThe menu type name to resolve.
flagsSalNumberUse Sys.CM_TableCell to assign the table's cell-editor menu; otherwise, assign the control's context menu.

Returns: SalBoolean. True if a control and menu type resolve and the menu is created; otherwise, false.

When called during a SAL context-menu action, the created menu is also shown at the current mouse position.

Instance member SetContextMenu(menuType, flags)

Creates and assigns a context menu for this control.

ParameterTypeDescription
menuTypeTypeThe menu type to instantiate.
flagsSalNumberUse Sys.CM_TableCell to assign the table's cell-editor menu; otherwise, assign the control's context menu.

Returns: SalBoolean. True if a control and menu type resolve and the menu is created; otherwise, false.

When called during a SAL context-menu action, the created menu is also shown at the current mouse position.

Instance member SetCursor(resource, type)

Loads a cursor resource and assigns it to the requested role.

ParameterTypeDescription
resourceSalResourceCursorThe cursor resource to load.
typeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

Returns: SalBoolean. True if the cursor is assigned to a supported role; otherwise, false.

Instance member SetCursor(resourceId, type)

Assigns a system cursor or a cursor identified by its native handle to the requested role.

ParameterTypeDescription
resourceIdInt32A Sys.CURSOR_* identifier, or a native cursor handle represented as an integer.
typeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

Returns: SalBoolean. True if the cursor is assigned to a supported role; otherwise, false.

Instance member SetCursor(blob, type)

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

ParameterTypeDescription
blobSalStringThe cursor file data stored in a SAL binary string.
typeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

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

Instance member SetCursorFile(file, type)

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

ParameterTypeDescription
fileSalStringThe cursor file path.
typeSalNumberThe cursor role: Sys.CURSOR_Window, Sys.CURSOR_DragDrop, or Sys.CURSOR_DisableDrop.

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

Instance member SetFocus()

Moves keyboard focus to this control, deferring the change when SAL validation is in progress.

Returns: SalWindowHandle. The previously focused managed control as a SAL handle, or a null handle if the target is unavailable, a table column, an ActiveX host, disabled, or hidden.

Instance member SetFont(name, size, enhancement)

Creates and assigns a font to this control.

ParameterTypeDescription
nameSalStringThe font family name.
sizeSalNumberThe font size in points.
enhancementSalNumberThe combined Sys.FONT_Enh* style flags.

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

Instance member SetLabelText(text)

Assigns the text of this control's associated label.

ParameterTypeDescription
textSalStringThe label text to display.

Returns: SalBoolean. True if an associated label was found and updated; otherwise, false.

Instance member SetLocation(x, y)

Sets this control's location in form units.

ParameterTypeDescription
xSalNumberThe new horizontal coordinate.
ySalNumberThe 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 SetModified(set)

Sets this control's SAL modification flag.

ParameterTypeDescription
setSalBooleanTrue to mark the value modified; false to clear the flag.

Returns: SalBoolean. True if the translated control supports SAL values; otherwise, false.

For editable SAL controls, this also clears the validation flag.

Instance member SetProperty(name, value, length)

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

ParameterTypeDescription
nameSalStringThe property name.
valueSalStringThe value to assign.
lengthSalNumberThe number of leading characters to retain.

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

Instance member SetScrollBarPosition(pos)

Sets the scroll position, clamping it to the underlying Windows Forms range.

ParameterTypeDescription
posSalNumberThe requested position.

Returns: SalBoolean. True when the position is in range; false if clamping was necessary or the target is not a scrollbar.

The clamp uses the base maximum, which includes the LargeChange adjustment.

Instance member SetScrollBarRange(min, max, line, page)

Assigns the scroll bounds and movement increments, adjusting the native maximum for the page size.

ParameterTypeDescription
minSalNumberThe minimum position.
maxSalNumberThe SAL maximum position.
lineSalNumberThe small-change increment.
pageSalNumberThe large-change increment.

Returns: SalBoolean. True after assigning a scrollbar range; false if the translated target is not a scrollbar.

Instance member SetSize(width, height)

Sets this control's dimensions in form units.

ParameterTypeDescription
widthSalNumberThe new width.
heightSalNumberThe new height.

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

Instance member SetText(text)

Assigns the control's displayed text.

ParameterTypeDescription
textSalStringThe text to assign.

Returns: SalBoolean. True if the translated control exists and assignment completes; otherwise, false.

An empty string is passed as null when assigning combo-box text.

Instance member SetTimer(idEvent, elapseMilliSec)

Creates or updates a native window timer for this control.

ParameterTypeDescription
idEventSalNumberThe timer identifier.
elapseMilliSecSalNumberThe requested interval in milliseconds.

Returns: SalBoolean. True if the native timer was created; otherwise, false.

Instance member SetWindowColor(colorIndex, color)

Assigns a SAL window, table-cell, text, or transparent-image color.

ParameterTypeDescription
colorIndexSalNumberThe Sys.COLOR_Index* component to update.
colorSalNumberThe SAL color value.

Returns: SalBoolean. True for a recognized color index and resolved control, even when the component does not apply to that control; otherwise, false.

Cell colors apply to table columns; window colors apply to other controls. Transparent colors require the SAL picture-control contract.

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 ShowWindowAndLabel()

Shows this control and its associated label.

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

Instance member TrackPopupMenu(menuName, flags, x, y)

Creates and displays a temporary popup menu at screen coordinates.

ParameterTypeDescription
menuNameSalStringThe menu type name to resolve.
flagsSalNumberSAL TPM_* alignment and cursor-position flags; center alignment and TPM_ContextMenu are unsupported.
xSalNumberThe screen X coordinate, unless TPM_CursorX selects the cursor position.
ySalNumberThe screen Y coordinate, unless TPM_CursorY selects the cursor position.

Returns: SalBoolean. True after the popup is shown; false when the target or menu cannot be resolved.

The previous context menu is restored after display and the temporary menu is queued for disposal.

Instance member TrackPopupMenu(menuType, flags, x, y)

Creates and displays a temporary popup menu at screen coordinates.

ParameterTypeDescription
menuTypeTypeThe menu type to instantiate.
flagsSalNumberSAL TPM_* alignment and cursor-position flags; center alignment and TPM_ContextMenu are unsupported.
xSalNumberThe screen X coordinate, unless TPM_CursorX selects the cursor position.
ySalNumberThe screen Y coordinate, unless TPM_CursorY selects the cursor position.

Returns: SalBoolean. True after the popup is shown; false when the target or menu cannot be resolved.

The previous context menu is restored after display and the temporary menu is queued for disposal.

Instance member UpdateWindow()

Requests an update of this control.

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

Instance member WinHelp(file, command, numData, strData)

Invokes the legacy Windows Help API for this control.

ParameterTypeDescription
fileSalStringThe help file path.
commandSalNumberThe Sys.HELP_* command.
numDataSalNumberThe numeric topic or index for HELP_Context and HELP_SetIndex.
strDataSalStringThe lookup text for HELP_Key.

Returns: SalBoolean. The native help result, or false for an empty file name.

Protected member WndProc(m)

Routes the native window message through the SAL window implementation.

ParameterTypeDescription
m by referenceMessageThe message to process, including its mutable result.

Instance member Yield()

Dispatches one pending message for this window, or processes application messages when no window handle exists.

Message dispatch can reenter application code.

Events

Instance member MessageActions

SalMessageHandler Provides the legacy SAL message-handler event.

Use WindowActions for new handlers.

Instance member WindowActions

WindowActionsEventHandler Occurs when this control dispatches a SAL or custom window action.

Inherited By

NameDescription
SalQuickToolTipVScrollBarProvides a SAL vertical scroll bar with Quick Objects tooltip and status-text compatibility methods.

Implements

NameDescription
ISalControlProvides access to a SAL control's typed value, associated label, and modification state.
ISalWindowExposes SAL message dispatch and runtime metadata for child controls, forms, dialogs, and MDI windows.