词条 | CEdit |
释义 | CEdit类提供了Windows编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本。 可以通过对话模板或直接从代码中创建一个编辑控件。在两种情形下,首先调用CEdit构造程序构造CEdit对象,再调用Create成员函数创建Windows编辑控件并将其与CEdit对象连接。 构造在CEdit的派生类中可以单步实现。为派生类编写构造程序并从构造程序中调用Create。 CEdit从CWnd继承了重要的功能,要在CEdit对象中设置或获取文本,使用CWnd成员函数SetWindowText和GetWindowText,可以设置和得到编辑控件的全部内容,即使它是一个多行控件。如果编辑控件是多行的,使用CEdit成员函数GetLine,SetSel,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格式时才进行插入 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。