Class XbpMLE() Foundation
Class function of the XbpMLE class.
The XbpMLE class provides objects that manage multi-line text entry fields. These are dialog elements that display text within rectangular screen areas. The "text" displayed in each entry field is a character string that may be formatted using the characters Carriage Return+Line Feed (CRLF) to include many text lines. This character string is stored in the edit buffer of the XbpMLE object. Both horizontal and vertical scroll bars are displayed to allow easy navigation through long text. The text can be edited when the XbpMLE object is in edit mode (the default setting). The current cursor position marks the point where characters input using the keyboard are inserted or overwrite existing characters.
By default, XbpMLE objects use automatic word wrap when displaying text. This means that the length of text lines is limited during display to the width of the edit window. Automatic word wrap can be turned off to allow each row of text displayed in the edit window to include the entire row delimited by the characters CRLF.
XbpMLE objects allow sections of text to be selected (marked) and copied to the clipboard. Characters from the clipboard can also be inserted into the text buffer of the XbpMLE object. The XbpMLE object processes keyboard entries as a series of independent character inputs. The keys that are used to input ASCII characters are copied into the edit buffer while other specific keys are automatically processed (such as the Insert and Delete keys). The following table lists the keys that receive special processing by the XbpMLE object along with the default action each key causes:
|Left Arrow||Move cursor one character to the left|
|Shift+Left Arrow||Select one character to the left|
|Shift+Ctrl+Left Arrow||Select one word to the left|
|Right Arrow||Move one character to the right|
|Shift+Right Arrow||Select one character to the right|
|Shift+Ctrl+Right Arrow||Select one word to the right|
|Up Arrow||Move up one row|
|Shift+Up Arrow||Select one row up|
|Down Arrow||Move down one row|
|Shift+Down Arrow||Select one row down|
|Page Up||Move one page up|
|Ctrl+Page Up||Move one page to the left|
|Page Down||Move one page down|
|Ctrl+Page Down||Move one page to the right|
|Home||Move to beginning of current row|
|Shift+Home||Select all characters to start of current row|
|Ctrl+Home||Move to start of edit buffer|
|Shift+Ctrl+Home||Select all characters to start of edit buffer|
|End||Move to end of current row|
|Shift+End||Select all characters to end of current row|
|Ctrl+End||Move to end of edit buffer|
|Shift+Ctrl+End||Select all characters to end of edit buffer|
|Backspace||Delete the character to the left of cursor|
|Insert *)||Toggle between "Insert" and "Overstrike" edit modes|
|Shift+Insert||Delete selected characters and replace with characters from the clipboard|
|Ctrl+Insert||Copy marked characters to the clipboard|
|Delete||Delete the character to the right of cursor or delete selected characters without copying them to the clipboard|
|Shift+Delete||Delete selected characters and copy them to the clipboard|
|Tab||Copied into the edit buffer as character if :ignoreTab is set to .F.|
|Others||Other keys containing ASCII characters are copied to the edit buffer as characters|
The xbeP_Keyboard event is generally generated for each keypress. This allows the default behavior of the XbpMLE object to be redefined in the :keyBoard() callback method or the callback code block.
The instance variables in this group configure system resources. If changes are made to these values, they must either be made before the :create() method is executed or the :configure() method must be used to activate the changes.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.