王朝百科
分享
 
 
 

CEdit

王朝百科·作者佚名  2010-08-12  
宽屏版  字体: |||超大  

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风格且要输入的字符会超过编辑控件的宽度时,发送消息。当编辑控件不具有ON_EN_VSCROLL风格且要输入的字符会超过编辑控件的高度时,也会发送消息。·ON_EN_SETFOCUS编辑控件获得焦点。·ON_EN_UPDATE编辑控件将要显示变动的文本。在控件对文本格式化之后但在显示文本之前发送消息,以便在必要时改变窗口尺寸。·ON_EN_VSCROLL用户单击了编辑控件中的垂直滚动条,父窗口在屏幕更新之前被通知。

如果在对话框内创建CEdit对象,CEdit对象在用户关闭对话框时自动被删除。

如果使用对话框编辑器从对话资源中创建CEdit对象,CEdit对象在用户关闭对话框时自动被删除。

如果在窗口内创建CEdit对象,也需要删除它。如果在栈上创建CEdit对象,它被自动删除。如果使用new函数在堆上创建CEdit对象,在用户中止编辑控件时,必须对其调用delete来删除它。如果在CEdit对象中分配存储空间,覆盖CEdit析构程序来处理分配情况。

#include <afxwin.h>

CEdit类的成员

构造函数CEdit构造一个CEdit控件对象Create创建一个Windows编辑控件,并将其与CEdit对象连接

属性CanUndo决定一个编辑控件操作是否能够被撤销GetLineCount获得多行编辑控件中的行数GetModify决定编辑控件的内容是否被修改SetModify为编辑控件设置或清除修改标记GetRect为编辑控件获取格式化的矩形GetHandle获得为当前多行编辑控件分配的内存的句柄SetHandle设置为多行编辑控件使用的本地内存的句柄SetMargins为CEdit设置左边和右边的空白边界GetMargins获得为CEdit设置左边和右边的空白边界SetLimitText设置CEdit能够容纳的文本的最大量GetLimitText获得CEdit能够容纳的文本的最大量PosFromChar获得指定字符索引的左上角的坐标CharFromPos获得最靠近指定位置的字符的行和字符索引GetLine从编辑控件中获得一行文本GetPasswordChar获得当用户输入文本时在编辑控件中显示的口令GetFirstVisibleLeLine决定在编辑控件中最顶部的可视的行

操作EmptyUndoBuffer重新设置(清除)编辑控件的撤销标记FmtLines设置在多行编辑控件中的软回车打开或关闭LimitText用户在输入文本时的文本长度限制LineFromChar获得包含指定字符索引的行的数目LineIndex获得在多行编辑控件中的某行的字符索引LineLength获得编辑控件中的行的长度LineScroll在多行编辑控件中滚动文本ReplaceSel用指定文本覆盖编辑控件中当前被选中的文本SetPasswordChar设置或清除当用户输入文本时在编辑控件中显示的口令SetRect设置多行编辑控件的带格式的矩形,并更新该控件SetRectNP设置多行编辑控件的带格式的矩形,而不必重新绘制SetSel在编辑控件中选定文本SetTabStops设置多行编辑控件的制表键停顿位SetReadOnly为编辑控件设置只读状态

剪贴板操作Undo撤销上一次的编辑控件操作Clear删除(清除)编辑控件中当前选中的文本Copy将编辑控件中的当前选中文本以CF_TEXT格式拷贝到剪贴板中Cut删除编辑控件中当前选中的文本,并将删除的文本以CF_TEXT格式拷贝到剪贴板中Paste在当前光标位置插入剪贴板内的文本。只有在剪贴板数据为CF_TEXT格式时才进行插入

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格&#8203;十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有