The bedit Control
The bedit (boxed edit) control is a variation of the hedit control. All
characteristics of an hedit control described in the preceding section also apply to
the bedit control, with two exceptions:
- A bedit window displays writing guides in which the user must write.
Interpreted text returned from the recognizer replaces the handwritten characters within
the guides.
- A bedit control does not support edit control styles ES_READONLY, ES_CENTER,
ES_LEFT, and ES_RIGHT. (Text in a bedit is left aligned.)
An application can specify guides either as a
comb or as a set of boxes, as shown in Figure 3.1. The comb consists of a
horizontal line with spaced tick marks. The user writes individual characters between
the marks.
These visual guides can greatly improve recognition because they remove from
the recognizer the significant burden of correctly segmenting the text into
separate characters. For example, consider Figure 3.2, which shows a word written
in an hedit control.
In this case, the recognizer would probably have difficulty choosing between
the words "clean" and "dean" because of the narrow spacing between the first two
strokes. The bedit control removes such ambiguities. By writing within the
guides of a bedit control, the user implicitly informs the recognizer what strokes
compose a single character.
For a description of how the bedit control has been improved in Windows 95,
see Appendix A, "Differences Between Versions 1.0 and 2.0 of the Pen Application
Programming Interface."
Windows treats characters in a bedit control as a continuous stream of text.
If the control contains more than one row, text wraps at each row end without
regard to word boundaries. The EM_SETWORDBREAK message has no effect on a boxed
edit control.
An application creates a bedit control with the Windows
CreateWindow function, specifying a window class of BEDIT. The following code shows how to
create a multiline bedit control:
hwndBedit = CreateWindow( "BEDIT", NULL,
ES_MULTILINE | WS_CHILD | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
hwndParent, CHILD_ID, hinstCurrent, NULL );
The
BOXLAYOUT structure governs the height and style of the box grid within the bedit
control. Its
style member accepts one of the following BXS_ values:
Style
| Description
|
BXS_NONE
| Resets current box style to the default comb style.
|
BXS_RECT
| Specifies a grid of closed rectangular boxes.
|
BXS_BOXCROSS
| Specifies small crosses at the center of each box. This is used mainly to aid
recognition of certain Far Eastern languages.
|
To set box height and style, fill a
BOXLAYOUT structure with the desired values and pass it as a submessage of WM_PENCTL,
as shown here:
BOXLAYOUT boxlayout;
.
.
.
boxlayout.cyCusp = 6; // Box sides are 6 pixels high
boxlayout.cyEndCusp = 6; // Ends should be the same
boxlayout.style = BXS_RECT; // Grid of closed boxes
iRet = SendMessage( hwndHedit, WM_PENCTL, HE_SETBOXLAYOUT,
(LONG)((LPBOXLAYOUT) &boxlayout) );
Refer to Chapter 11, "Pen Application Programming Interface Structures," for a
more detailed description of the
BOXLAYOUT structure. The next section explains how to set the system assumptions about
the appearance of a bedit control.
- 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