欢迎来到天天文库
浏览记录
ID:41122905
大小:49.53 KB
页数:20页
时间:2019-08-17
《MFC中CEdit类使用方法小结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CEdit类提供了Windows编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本。可以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用CEdit构造程序构造CEdit对象,再调用Create成员函数创建Windows编辑控件并将其与CEdit对象连接。构造在CEdit的派生类中可以单步实现。为派生类编写构造程序并从构造程序中调用Create。CEdit从CWnd继承了重要的功能,要在CEdit对象中设置或获取文本,使用CWnd成员函数SetWindowText和GetWi
2、ndowText,可以设置和得到编辑控件的全部内容,即使它是一个多行控件。如果编辑控件是多行的,使用CEdit成员函数GetLine,GetSel,GetSel和ReplaceSel来获取和写入控件的部分文本。 如果要处理编辑控件发往其父类(通常是一个CDialog派生类)的通知消息,则向父类中为每一消息添加一个消息映射入口和消息处理成员函数。各消息映射入口可采用如下形式:ON_Notification(id,memberFxn)其中id指定了发送通知的编辑控件的子窗口ID,memberFxn为你写好的处理
3、通知的父成员函数的名字。父函数形式如下:afx_msgvoidmemberFxn();下面是一组可能的消息映射入口,以及在何种情况下向父类发送的描述:ON_EN_CHANGE 用户采取的行动可能会改变编辑控件的文本。与EN_UPDATE通知消息不同,该通知是在 Windows更新显示之后发送的。ON_EN_ERRSPACE 编辑控件不能为特定请求分配足够的空间。ON_EN_HSCROLL 用户单击了编辑控件中的水平滚动条,父窗口在屏幕更新之前被通知。ON_E
4、N_KILLFOCUS 编辑控件失去输入焦点。ON_EN_MAXTEXT 当前输入超过了为编辑控件指定的数目,并作截尾处理。当编辑控件不具有 ON_EN_HSCROLL风格且要输入的字符会超过编辑控件的宽度时,发送消息。当编辑控件 不具有ON_EN_VSCROLL风格且要输入的字符会超过编辑控件的高度时,也会发送消息。ON_EN_SETFOCUS 编辑控件获得焦点。ON_EN_UPDATE 编辑控件将要显示变动的文本。在控件
5、对文本格式化之后但在显示文本之前发送消息, 以便在必要时改变窗口尺寸。ON_EN_VSCROLL 用户单击了编辑控件中的垂直滚动条,父窗口在屏幕更新之前被通知。 如果在对话框内创建CEdit对象,CEdit对象在用户关闭对话框时自动被删除。如果使用对话框编辑器从对话资源中创建CEdit对象,CEdit对象在用户关闭对话框时自动被删除。如果在窗口内创建CEdit对象,也需要删除它。如果在栈上创建CEdit对象,它被自动删除。如果使用new函数在堆上创建CEdit对象,在用
6、户中止编辑控件时,必须对其调用delete来删除它。如果在CEdit对象中分配存储空间,覆盖CEdit析构程序来处理分配情况。关于CEdit的更多信息,请参阅联机文档“VisualC++程序员指南”中的“控件主题”。#include请参阅 CWnd,CButton,CComboBox,CListBox,CScrollBar,CStatic,CDialog CEdit类的成员构造函数CEdit 构造一个CEdit控件对象Create 创建一个Windows编辑控件,并将其与CE
7、dit对象连接CEdit属性CanUndo 决定一个编辑控件操作是否能够被撤销GetLineCount 获得多行编辑控件中的行数GetModify决定编辑控件的内容是否被修改SetModify为编辑控 件设置或清除修改标记GetRect 为编辑控件获取格式化的矩形GetHandle 获得为当前多行编辑控件分配的内存的句柄SetHandle 设置为多行编辑控件使用的本地内存的句柄SetMargins 为CEdit设置左边和
8、右边的空白边界GetMargins 获得为CEdit设置左边和右边的空白边界SetLimitText 设置CEdit能够容纳的文本的最大量GetLimitText 获得CEdit能够容纳的文本的最大量PosFromChar 获得指定字符索引的左上角的坐标CharFromPos 获得最靠近指定位置的字符的行和字符索引GetLine 从编辑控件中获得一行文本GetPasswo
此文档下载收益归作者所有