编辑框(Edit Box)控件实际上是一个简易的正文编辑器,用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的,也可以是多行的,多行编辑框是从零开始编行号的.在一个多行编辑框中,除了最后一行外,每一行的结尾处都有一对回车换行符(用"\r\n"表示).这对回车换行符是正文换行的标志,在屏幕上是不可见的.
编辑框控件会向父窗口发出控件通知消息.
消息含义
EN_CHANGE
编辑框的内容被用户改变了。与EN_UPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的。
EN_ERRSPACE
编辑框控件无法申请足够的动态内存来满足需要。
EN_HSCROLL
用户在水平滚动条上单击鼠标。
EN_KILLFOCUS
编辑框失去输入焦点。
EN_MAXTEXT
输入的字符超过了规定的最大字符数。在没有ES_AUTOHSCROLL或ES_AUTOVSCROLL的编辑框中,当正文超出了编辑框的边框时也会发出该消息。
EN_SETFOCUS
编辑框获得输入焦点。
EN_UPDATE
在编辑框准备显示改变了的正文时发送该消息。
EN_VSCROLL
用户在垂直滚动条上单击鼠标。
MFC的CEdit类封装了编辑框控件。CEdit类的成员函数Create负责创建按钮控件,该函数的声明为
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
参数dwStyle指定了编辑框控件风格,如表6.6所示,dwStyle可以是这些风格的组合。rect指定了编辑框的位置和尺寸。
pParentWnd指定了父窗口,不能为NULL。编辑框的ID由nID指定。如果创建成功,该函数返回TRUE,否则返回FALSE.
编辑框控件的风格
控件风格含义
ES_AUTOHSCROLL
当用户在行尾键入一个字符时,正文将自动向右滚动10个字符,当用户按回车键时,正文总是滚向左边。