Skip to main content

VisRichEdit

Namespace: PPJ.Runtime.Vis

Assembly: PPJ.Runtime.Vis.50 (5.0.0.0)

Provides rich-text editing with SAL messages, selection formatting, and RTF conversion.

public class VisRichEdit : RichTextBox, ISalWindow

Example:

using (var editor = new PPJ.Runtime.Vis.VisRichEdit())
{
editor.Text = "Hello world";
editor.SetSel(0, 5);
editor.ReplaceSel("Welcome");
PPJ.Runtime.SalString rtf = editor.ConvertToRTF();
}

Constructors

Instance member VisRichEdit()

Initializes the rich-text control and its SAL window adapter.

Properties

Instance member EnableSpellChecker

Boolean: Gets or sets whether the built-in spell checker is enabled. (Default: False)

Enabling creates the checker outside design mode. Disabling disposes an existing checker.

Instance member NamedProperties

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

Instance member Text

String: Gets or sets the plain text in the editor.

Assignment suppresses SAM_AnyEdit and resets Modified to false.

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 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 ConvertFromRTF(sRTFText)

Replaces the editor content with Rich Text Format data.

ParameterTypeDescription
sRTFTextSalStringThe RTF document to assign.

Returns: SalBoolean. True after assignment.

Invalid RTF can cause the underlying control to throw an ArgumentException.

Instance member ConvertToRTF()

Gets the complete editor content in Rich Text Format.

Returns: SalString. The RTF string.

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 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 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 FindText(nSearchFlags, sSearchText)

Finds text using the managed rich-text search operation.

ParameterTypeDescription
nSearchFlagsSalNumberRichTextBoxFinds flags expressed as a SAL number.
sSearchTextSalStringThe text to find.

Returns: SalNumber. The first matching character index, or -1 when the text is not found.

Example:

Find and replace the first occurrence. Check for a missing match before selecting text.

using System;
using PPJ.Runtime;
using PPJ.Runtime.Vis;

public static class RichTextReplacement
{
public static bool ReplaceFirst(VisRichEdit editor)
{
const string search = "draft";
SalNumber start = editor.FindText(0, search);
if (start < 0)
return false;

editor.SetSel(start, start + search.Length);
return editor.ReplaceSel("final");
}
}

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.

Static member FromHandle(handle)

Resolves a rich-text control from a native window handle.

ParameterTypeDescription
handleSalWindowHandleThe native control handle.

Returns: VisRichEdit. The associated VisRichEdit, or null when no managed control owns the handle.

A handle belonging to another control type causes an InvalidCastException.

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 GetDefaultCharFormat(sFontName, nPointSize, nEnhFlags, nTextColor)

Gets the control default font and text color.

ParameterTypeDescription
sFontName by referenceSalStringReceives the font family name.
nPointSize by referenceSalNumberReceives the font size in points.
nEnhFlags by referenceSalNumberReceives the SAL font enhancement flags.
nTextColor by referenceSalNumberReceives the text color as a Win32 color value.

Returns: SalBoolean. True after processing the font and color.

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

Gets the index of the first visible native text line.

Returns: SalNumber. The zero-based line index.

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

Gets the configured input length limit.

Returns: SalNumber. The MaxLength value.

Instance member GetLine(nLineIndex)

Gets text from the managed Lines collection.

ParameterTypeDescription
nLineIndexSalNumberThe zero-based line index.

Returns: SalString. The line text, or SalString.Null for a negative index or an index greater than the line count.

An index exactly equal to the line count is not rejected and causes IndexOutOfRangeException.

Instance member GetLineCount()

Gets the native rich-edit line count.

Returns: SalNumber. The EM_GETLINECOUNT result.

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

Gets the editor modification flag.

Returns: SalNumber. One when Modified is true; otherwise, zero.

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 GetParaFormat(nLeftIndent, nRightIndent, nOffset, nAlignment, nNumbering, nTabStops, nNumTabs)

Reads native paragraph-format values for the current selection.

ParameterTypeDescription
nLeftIndent by referenceSalNumberReceives the starting indent in twips.
nRightIndent by referenceSalNumberReceives the right indent in twips.
nOffset by referenceSalNumberReceives the subsequent-line offset in twips.
nAlignment by referenceSalNumberReceives the native paragraph alignment.
nNumbering by referenceSalNumberReceives the native paragraph numbering value.
nTabStops by referenceSalArray<SalNumber>The non-null array to reset and populate with zero-based tab stops.
nNumTabs by referenceSalNumberReceives the tab-stop count.

Returns: SalBoolean. True.

The native format mask is not returned, so mixed selection values cannot be distinguished through this method.

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 GetSel(nStart, nEnd)

Gets the current selection range.

ParameterTypeDescription
nStart by referenceSalNumberReceives the zero-based start character index.
nEnd by referenceSalNumberReceives the exclusive end character index.

Returns: SalBoolean. True.

Instance member GetSelectionCharFormat(sFontName, nPointSize, nEnhFlags, nTextColor)

Gets the selected text font and text color.

ParameterTypeDescription
sFontName by referenceSalStringReceives the font family name.
nPointSize by referenceSalNumberReceives the font size in points.
nEnhFlags by referenceSalNumberReceives the SAL font enhancement flags.
nTextColor by referenceSalNumberReceives the text color as a Win32 color value.

Returns: SalBoolean. True after processing the font and color.

Instance member GetSelectionType()

Gets the kind of content in the current selection.

Returns: SalNumber. The numeric RichTextBoxSelectionTypes flags.

Instance member GetSelText()

Gets the plain text in the current selection.

Returns: SalString. The selected text.

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

Gets the plain text in the editor.

Returns: SalString. The editor text.

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

Gets the length of the plain text.

Returns: SalNumber. The TextLength value.

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 HideSelection(bHide, bPermanent)

Changes selection highlighting behavior.

ParameterTypeDescription
bHideSalBooleanTrue to hide the highlight; false to show it.
bPermanentSalBooleanTrue to update the persistent HideSelection property; false to send EM_HIDESELECTION.

Returns: SalBoolean. True for a persistent change; otherwise, whether the native message returns a nonzero result.

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(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 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 LimitText(nTextLimit)

Sets the maximum text length.

ParameterTypeDescription
nTextLimitSalNumberThe value assigned to MaxLength.

Returns: SalBoolean. True if the underlying assignment succeeds.

Instance member LineFromChar(nCharIndex)

Gets the native line containing a character position.

ParameterTypeDescription
nCharIndexSalNumberThe zero-based character index; -1 uses the current selection position.

Returns: SalNumber. The zero-based line index.

Instance member LineIndex(nLine)

Gets the character index at the start of a native text line.

ParameterTypeDescription
nLineSalNumberThe zero-based line index; -1 requests the line containing the caret.

Returns: SalNumber. The character index, or -1 when the requested line does not exist.

Instance member LineLength(nLineIndex)

Gets the length of the native line containing a character position.

ParameterTypeDescription
nLineIndexSalNumberA zero-based character index passed to EM_LINELENGTH, despite the parameter name.

Returns: SalNumber. The native line-length result.

Instance member LineScroll(nLines, nChars)

Sends a native line-scroll request.

ParameterTypeDescription
nLinesSalNumberThe number of lines to scroll vertically.
nCharsSalNumberThe number of character widths requested horizontally.

Returns: SalBoolean. True when the native message returns a nonzero result.

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 OnTextChanged(e)

Sends SAM_AnyEdit unless suppressed, then raises the base text-change event.

ParameterTypeDescription
eEventArgsThe text-change event data.

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 ReplaceSel(sText)

Replaces the current selection with plain text.

ParameterTypeDescription
sTextSalStringThe replacement text.

Returns: SalBoolean. True.

Example:

A zero-length selection inserts text without replacing existing characters.

using PPJ.Runtime.Vis;

public static class RichTextInsertion
{
public static void AppendNote(VisRichEdit editor)
{
int end = editor.Text.Length;
editor.SetSel(end, end);
editor.ReplaceSel(" (reviewed)");
}
}

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(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, 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 SetDefaultCharFormat(sFontName, nPointSize, nEnhFlags, nTextColor)

Sets the control default font and text color.

ParameterTypeDescription
sFontNameSalStringThe font family name.
nPointSizeSalNumberThe font size in points.
nEnhFlagsSalNumberThe SAL font enhancement flags.
nTextColorSalNumberThe SAL text color value.

Returns: SalBoolean. True after processing the font and color.

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 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 SetModify(bState)

Sets the editor modification flag.

ParameterTypeDescription
bStateSalBooleanThe new Modified value.

Returns: SalBoolean. True.

Instance member SetOptions(nOptions)

Applies supported rich-edit compatibility option bits.

ParameterTypeDescription
nOptionsSalNumberThe REF option flags.

Returns: SalBoolean. True.

REF_AutoWordSelection controls both AutoWordSelection and ReadOnly in this implementation. REF_NoHideSel controls selection highlighting, and REF_AutoHScroll/REF_AutoVScroll select the scrollbar arrangement.

Instance member SetParaFormat(nLeftIndent, nRightIndent, nOffset, nAlignment, nNumbering, nTabStops, nNumTabs)

Sends paragraph-format values to the native rich-edit control.

ParameterTypeDescription
nLeftIndentSalNumberThe starting indent in twips.
nRightIndentSalNumberThe right indent in twips.
nOffsetSalNumberThe subsequent-line offset in twips.
nAlignmentSalNumberThe native paragraph alignment.
nNumberingSalNumberThe native paragraph numbering value.
nTabStopsSalArray<SalNumber>The zero-based tab-stop array.
nNumTabsSalNumberThe requested tab-stop count.

Returns: SalBoolean. True when the native message returns a nonzero result.

This implementation leaves the paragraph-format mask at zero and uses Math.Min(nNumTabs, 0); a nonnegative tab count therefore supplies no tab stops and no format fields are marked for update.

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 SetSel(nStart, nEnd)

Sets the current selection range.

ParameterTypeDescription
nStartSalNumberThe zero-based start character index.
nEndSalNumberThe exclusive end character index.

Returns: SalBoolean. True after assigning the start and length.

Example:

The end index is exclusive: this selects only the word draft.

using PPJ.Runtime.Vis;

public static class RichTextSelection
{
public static void SelectWord(VisRichEdit editor)
{
editor.Text = "Status: draft";
editor.SetSel(8, 13);
}
}

Instance member SetSelectionCharFormat(sFontName, nPointSize, nEnhFlags, nTextColor)

Sets the selected text font and text color.

ParameterTypeDescription
sFontNameSalStringThe font family name.
nPointSizeSalNumberThe font size in points.
nEnhFlagsSalNumberThe SAL font enhancement flags.
nTextColorSalNumberThe SAL text color value.

Returns: SalBoolean. True after processing the font and color.

Example:

Apply a bold font to the selected heading. The selected text is also colored blue.

using PPJ.Runtime;
using PPJ.Runtime.Vis;

public static class RichTextFormatting
{
public static void FormatHeading(VisRichEdit editor)
{
editor.Text = "Summary\nReview complete.";
editor.SetSel(0, 7);
editor.SetSelectionCharFormat(
"Arial", 12, Sys.FONT_EnhBold, Sys.COLOR_Blue);
}
}

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 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.

Implements

NameDescription
ISalWindow