bedit Control Messages

The bedit control sends a WM_CTLINIT message to its parent windows when created. The wParam parameter holds the constant CTLINIT_BEDIT and lParam points to a CTLINITBEDIT structure. The structure contains the current system assumptions concerning the appearance and behavior of the bedit control. The parent window has the option of changing any of these assumptions.

An application can also initialize a bedit control for a dialog box by using a DIALOGEX resource in the dialog resource file (.RC) and specifying a CONTROL statement with a class of BEDIT or specifying a BEDIT edit control class. In this case, the control still sends the WM_CTLINIT message. However, the CTLINITBEDIT structure reflects the specifications of the BEDIT class statement instead of the system defaults. As before, the parent window can modify the structure if desired. Refer to Chapters 11 and 12 for descriptions of the CTLINITBEDIT structure and WM_CTLINIT message, respectively. Refer to the DIALOGEX resource description in the Win32 SDK tools for more information on using the BEDIT control class.

The EM_LIMITTEXT message deserves special mention because it has changed slightly from version 1.0 of the Pen API. The message now sets the maximum number of bytes of text, rather than the number of boxes, that the control can hold. Note that although a newline character occupies only one box, the newline itself pics/PENAPI00090001.gif carriage return and linefeed pics/PENAPI00090001.gif takes 2 bytes. Certain Far Eastern languages also require 2 bytes per character.

Thus, the EM_LIMITTEXT message has the same effect on bedit controls as it does on hedit and edit controls. For example, the instruction

SendMessage( hwndBedit, EM_LIMITTEXT, 50, 0L );

sets to 50 the number of bytes the bedit control can accept. This has the following effects on the control:

  • If the user attempts to write the 51st byte, the control beeps and ignores the input.

  • If the user inserts text into existing text, the control beeps and ignores further input after the total number of bytes equals 50.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples