关于 CEdit 控件
CEdit 类提供了 Windows 编辑控件中的功能。编辑控件是一个子窗口矩形,
用户可以向其中输入文本。可以通过对话模板或直接从代码中创建一个编辑控件。
在两种情形下,首先调用 CEdit 构造程序构造 CEdit 对象,再调用 Create 成员
函数创建 Windows 编辑控件并将其与 CEdit 对象连接。构造在 CEdit 的派生类
中可以单步实现。为派生类编写构造程序并从构造程序中调用 Create。CEdit
从 CWnd 继承了重要的功能,要在 CEdit 对象中设置或获取文本,使用 CWnd
成员函数 SetWindowText 和 GetWindowText,可以设置和得到编辑控件的全部
内容,即使它是一个多行控件。如果编辑控件是多行的,使用 CEdit 成员函数
GetLine,GetSel,GetSel 和 ReplaceSel 来获取和写入控件的部分文本。
如果要处理编辑控件发往其父类(通常是一个 CDialog 派生类)的通知消息,
则向父类中为每一消息添加一个消息映射入口和消息处理成员函数。各消息映射
入口可采用如下形式:
ON_Notification(id,memberFxn)
其中 id 指定了发送通知的编辑控件的子窗口 ID,memberFxn 为你写好的
处理通知的父成员函数的名字。父函数形式如下:
afx_msg void memberFxn();
下面是一组可能的消息映射入口,以及在何种情况下向父类发送的描述:
ON_EN_CHANGE 用户采取的行动可能会改变编辑控件的文本。与
EN_UPDATE 通知消息不同,该通知是在
Windows 更新显示之后发送的。
ON_EN_ERRSPACE 编辑控件不能为特定请求分配足够的空间。
ON_EN_HSCROLL 用户单击了编辑控件中的水平滚动条,父窗口在屏
幕更新之前被通知。
ON_EN_KILLFOCUS 编辑控件失去输入焦点。
ON_EN_MAXTEXT 当前输入超过了为编辑控件指定的数目,并作截尾
处理。当编辑控件不具有
ON_EN_HSCROLL 风格且要输入的字符会超过编辑控件的宽度时,发送消
息。当编辑控件