MFC中CEdit类使用方法小结

上传人:新** 文档编号:492511335 上传时间:2024-01-22 格式:DOCX 页数:20 大小:45.65KB
返回 下载 相关 举报
MFC中CEdit类使用方法小结_第1页
第1页 / 共20页
MFC中CEdit类使用方法小结_第2页
第2页 / 共20页
MFC中CEdit类使用方法小结_第3页
第3页 / 共20页
MFC中CEdit类使用方法小结_第4页
第4页 / 共20页
MFC中CEdit类使用方法小结_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《MFC中CEdit类使用方法小结》由会员分享,可在线阅读,更多相关《MFC中CEdit类使用方法小结(20页珍藏版)》请在金锄头文库上搜索。

1、CEdit类提供了Windows编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本。可以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用CEdit构造程序构造CEdit对象,再调用Create成员函数创建Windows编辑控件并将其与CEdit对象连接。构造在CEdit的派生类中可以单步实现。为派生类编写构造程序并从构造程序中调用Create。CEdit从CWnd继承了重要的功能,要在CEdit对象中设置或获取文本,使用CWnd成员函数SetWindowText和GetWindowText,可以设置和得到编辑控件的全部内容,即使它是一个多行控件。如果编辑控件是

2、多行的,使用CEdit成员函数GetLine,GetSel,GetSel和ReplaceSel来获取和写入控件的部分文本。如果要处理编辑控件发往其父类(通常是一个CDialog派生类)的通知消息,则向父类中为每一消息添加一个消息映射入口和消息处理成员函数。各消息映射入口可采用如下形式:ON_Notification(id,memberFxn)其中id指定了发送通知的编辑控件的子窗口ID,memberFxn为你写好的处理通知的父成员函数的名字。父函数形式如下:afx_msgvoidmemberFxn();下面是一组可能的消息映射入口,以及在何种情况下向父类发送的描述:ON_EN_CHANGE用户

3、采取的行动可能会改变编辑控件的文本。与EN_UPDATE通知消息不同,该通知是在Windows更新显示之后发送的。ON_EN_ERRSPACE编辑控件不能为特定请求分配足够的空间。ON_EN_HSCROLL用户单击了编辑控件中的水平滚动条,父窗口在屏幕更新之前被通知。ON_EN_KILLFOCUS编辑控件失去输入焦点。ON_EN_MAXTEXT当前输入超过了为编辑控件指定的数目,并作截尾处理。当编辑控件不具有ON_EN_HSCROLL风格且要输入的字符会超过编辑控件的宽度时,发送消息。当编辑控件不具有ON_EN_VSCROLL风格且要输入的字符会超过编辑控件的高度时,也会发送消息。ON_EN_

4、SETFOCUS编辑控件获得焦点。ON_EN_UPDATE编辑控件将要显示变动的文本。在控件对文本格式化之后但在显示文本之前发送消息,以便在必要时改变窗口尺寸。ON_EN_VSCROLL用户单击了编辑控件中的垂直滚动条,父窗口在屏幕更新之前被通知。如果在对话框内创建CEdit对象,CEdit对象在用户关闭对话框时自动被删除。如果使用对话框编辑器从对话资源中创建CEdit对象,CEdit对象在用户关闭对话框时自动被删除。如果在窗口内创建CEdit对象,也需要删除它。如果在栈上创建CEdit对象,它被自动删除。如果使用new函数在堆上创建CEdit对象,在用户中止编辑控件时,必须对其调用delet

5、e来删除它。如果在CEdit对象中分配存储空间,覆盖CEdit析构程序来处理分配情况。关于CEdit的更多信息,请参阅联机文档“VisualC+程序员指南”中的“控件主题”。#include请参阅CWnd,CButton,CComboBox,CListBox,CScrollBar,CStatic,CDialogCEdit类的成员构造函数CEdit构造一个CEdit控件对象Create创建一个Windows编辑控件,并将其与CEdit对象连接CEdit属性CanUndo决定一个编辑控件操作是否能够被撤销GetLineCount获得多行编辑控件中的行数GetModify决定编辑控件的内容是否被修改

6、SetModify为编辑控件设置或清除修改标记GetRect为编辑控件获取格式化的矩形GetHandle获得为当前多行编辑控件分配的内存的句柄SetHandle设置为多行编辑控件使用的本地内存的句柄SetMargins为CEdit设置左边和右边的空白边界GetMargins获得为CEdit设置左边和右边的空白边界SetLimitText设置CEdit能够容纳的文本的最大量GetLimitText获得CEdit能够容纳的文本的最大量PosFromChar获得指定字符索引的左上角的坐标CharFromPos获得最靠近指定位置的字符的行和字符索引GetLine从编辑控件中获得一行文本GetPassw

7、ordChar获得当用户输入文本时在编辑控件中显示的口令GetFirstVisibleLeLine决定在编辑控件中最顶部的可视的行CEdit操作EmptyUndoBuffer重新设置(清除)编辑控件的撤销标记FmtLines设置在多行编辑控件中的软回车打开或关闭LimitText用户在输入文本时的文本长度限制LineFromChar获得包含指定字符索引的行的数目LineIndex获得在多行编辑控件中的某行的字符索引LineLength获得编辑控件中的行的长度LineScroll在多行编辑控件中滚动文本ReplaceSel用指定文本覆盖编辑控件中当前被选中的文本SetPasswordChar设置

8、或清除当用户输入文本时在编辑控件中显示的口令SetRect设置多行编辑控件的带格式的矩形,并更新该控件SetRectNP设置多行编辑控件的带格式的矩形,而不必重新绘制SetSel在编辑控件中选定文本SetTabStops设置多行编辑控件的制表键停顿位SetReadOnly为编辑控件设置只读状态CEdit剪贴板操作Undo撤销上一次的编辑控件操作Clear删除(清除)编辑控件中当前选中的文本Copy将编辑控件中的当前选中文本以CF_TEXT格式拷贝到剪贴板中Cut删除编辑控件中当前选中的文本,并将删除的文本以CF_TEXT格式拷贝到剪贴板中Paste在当前光标位置插入剪贴板内的文本。只有在剪贴板

9、数据为CF_TEXT格式时才进行插入CEdit:CanUndoBOOLCanUndo()const;返回值如果上一次编辑操作可以用Undo成员函数撤销,则返回非零值,否则为0。说明调用该函数来决定上一次编辑操作是否可以撤销。要了解更多信息,请参阅Win32文档中的EM_CANUNDO。请参阅CEdit:Undo,CEdit:EmptyUndoBufferCEdit:CEditCEdit();说明构造一个CEdit对象。使用Create来创建Windows编辑控件。请参阅CEdit:CreateCEdit:CharFromPosintCharFromPos(CPointpt)const;返回值返

10、回WORD低位的字符索引,以及WORD高位的行索引。参数pt在客户区域中的CEdit对象的点的坐标。说明调用该函数来获取基于0索引的行和最接近CEdit控件中指定点的字符索引。注意该成员函数在Windows95和WindowsNT4.0中有效。要了解更多的信息,请参阅Win32文档中的EM_CHARFROMMOPS。请参阅CEdit:PosFromCharCEdit:ClearvoidClear();说明调用该函数来删除(清除)编辑控件中当前选中的文本。由Clear进行的操作可以通过调用Undo成员函数撤销。要删除当前选定文本并将其拷贝到剪贴板上,调用Cut成员函数。要了解更多的信息,请参阅W

11、in32文档中的WM_CLEAR。请参阅CEdit:Undo,CEdit:Copy,CEdit:Cut,CEdit:PasteCEdit:CopyvoidCopy();说明调用该函数将编辑控件中的当前选中文本以CF_TEXT格式拷贝到剪贴板中。要了解更多的信息,请参阅Win32文档中的WM_COPY。请参阅CEdit:Clear,CEdit:Cut,CEdit:PasteCEdit:CreateBOOLCreate(DWORDdwStyle,constRECT&rect,CWnd*pParentWnd,UNITnID);返回值初始化成功,则返回非零值,否则为0。参数dwStyle指定编辑控件的

12、风格。可以组合使用控件的编辑风格。rect指定控件的尺寸和位置。可以是RECT结构或CRect对象。pParentWnd指定编辑控件的父窗口(通常使用CDialog)。其值不能为NULL。nID指定编辑控件的ID。说明构造CEdit对象分两步。首先调用CEdit构造程序,再调用Create,这样就创建了一个Windows编辑控件,并将其与CEdit对象连接。当执行Create时,Windows发送WM_NCCREATE,WM_NCCALCSIZE,WM_CREATE和WM_GETMINMAXINFO消息到编辑控件。缺省地,这些消息由CWnd基类中的OnNcCalcSize,OnCreate,O

13、nNcCreate和OnGetMinMaxInfo成员函数处理。要扩展缺省的消息处理,先从CEdit派生一个类,为新类添加消息映射并覆盖上述消息处理成员函数。例如,覆盖OnCreate为新类执行所需要的初始化操作。可以为编辑控件应用如下的风格:WS_CHILD总是采用WS_VISIBLE经常采用WS_DISABLED很少采用WS_GROUP组合控件WS_TABSTOP按制表键次序包含编辑控件请参阅CEdit:CEditCEdit:CutvoidCut();说明调用该函数来删除(剪切)在编辑控件中的当前选定文本,并将其用CF_TEXT格式拷贝到剪贴板中。由Cut执行的删除可以由Undo成员函数来

14、撤销。删除当前选定部分而不将已删除文本置于剪贴板,调用Clear成员函数。要了解更多的信息,请参阅Win32文档中的WM_CUT。请参阅CEdit:Undo,CEdit:Clear,CEdit:Copy,CEdit:PasteCEdit:EmptyUndoBufferVoidEmptyUndoBuffer();说明调用此成员函数重新设置(清除)一个编辑控件中的撤消标记,使编辑控件不可撤消最近一次操作。撤消标记在编辑控件的某个操作可以撤消时建立。当调用SetWindows或SetHandleCwnd成员函数时,撤消标记自动被清除。要了解更多的信息,请参阅Win32文档中的EM_EMPTYUNDO

15、BUFFER。请参阅CEdit:CanUndo,CEdit:SetHandle,CEdit:Undo,CWnd:SetWindowTextCEdit:FmtLinesBOOLFmtLines(BOOLbAddEOL);返回值如果发生格式化,则返回非零值,否则为0。参数bAddEOl指定是否要插入软断行符,值为True时插入软断行符,为False时去掉软断行符。说明调用此成员函数用于设置在一个多行编辑控件中是否包含软断行符。一个软断行符包含在断行行末插入两个回车和一个换行,这是因为一行可容纳的文字有限。而一个硬断行符包含一个回车和一个断行。以硬断行符结束的行不受FmtLines的影响。仅在CEdit对象是一个多行编辑控件时Windows才响应此命令。FmtLines仅影响GetHandle返回的缓冲区和WM_GETTEXT返回的文本,而对编辑控件中的显示无影响。要了解更多信息,请参阅Win32文档中的EM_FMTLINES。请参阅CEdit:GetHandle,CWnd:GetWindowTextCEdit:GetFirstVisibleLineintGetFirs

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号