Current Selection in a Rich Edit Control
The user can select text in a rich edit control by using the mouse or the
keyboard. The
current selection is the range of selected characters, or the position of the insertion point
if no characters are selected. An application can get information about the
current selection, set the current selection, determine when the current selection
changes, and show or hide the selection highlight.
To determine the current selection in a rich edit control, use the
EM_EXGETSEL message. To set the current selection, use the
EM_EXSETSEL message. The
CHARRANGE structure is used with both messages and specifies a range of characters. To
retrieve information about the contents of the current selection, you can use
the
EM_SELECTIONTYPE message.
An application can detect when the current selection changes by processing the
EN_SELCHANGE notification message. The notification message specifies a
SELCHANGE structure containing information about the new selection. A rich edit control
sends this notification message only if you enable it by using the
EM_SETEVENTMASK message.
By default, a rich edit control shows and hides the selection highlight when
it gains and loses the focus. You can show or hide the selection highlight at
any time by using the
EM_HIDESELECTION message. For example, an application might provide a Search dialog box to
find text in a rich edit control. The application might select matching text
without closing the dialog box, in which case it must use the EM_HIDESELECTION
message to highlight the selection.
As with edit controls, you can specify the ES_NOHIDESEL window style to
prevent a rich edit control from hiding the selection highlight when it loses the
focus. You can also use the EM_HIDESELECTION message to change the ES_NOHIDESEL
window style after a rich edit control is created.
Instead of using the
EM_EXGETSEL and
EM_EXSETSEL messages, you retrieve and set the current selection by using the
EM_GETSEL and
EM_SETSEL edit control messages. The EM_GETSEL message packs two 16-bit character
indexes into its 32-bit return value and, therefore, works only for selections that
fall entirely within the first 64K. However, a rich edit control will never
contain more than 32K of text, unless you extend this limit by using the
EM_EXLIMITTEXT message. For selections that extend beyond the first 64K of text, the
EM_GETSEL message returns
1.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database