MFC中CEdit类使用方法小结Word下载.docx

上传人:b****6 文档编号:16207058 上传时间:2022-11-21 格式:DOCX 页数:26 大小:34.55KB
下载 相关 举报
MFC中CEdit类使用方法小结Word下载.docx_第1页
第1页 / 共26页
MFC中CEdit类使用方法小结Word下载.docx_第2页
第2页 / 共26页
MFC中CEdit类使用方法小结Word下载.docx_第3页
第3页 / 共26页
MFC中CEdit类使用方法小结Word下载.docx_第4页
第4页 / 共26页
MFC中CEdit类使用方法小结Word下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

MFC中CEdit类使用方法小结Word下载.docx

《MFC中CEdit类使用方法小结Word下载.docx》由会员分享,可在线阅读,更多相关《MFC中CEdit类使用方法小结Word下载.docx(26页珍藏版)》请在冰豆网上搜索。

MFC中CEdit类使用方法小结Word下载.docx

编辑控件将要显示变动的文本。

在控件对文本格式化之后但在显示文本之前发送消息,

以便在必要时改变窗口尺寸。

ON_EN_VSCROLL 

用户单击了编辑控件中的垂直滚动条,父窗口在屏幕更新之前被通知。

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

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

如果在窗口内创建CEdit对象,也需要删除它。

如果在栈上创建CEdit对象,它被自动删除。

如果使用new函数在堆上创建CEdit对象,在用户中止编辑控件时,必须对其调用delete来删除它。

如果在CEdit对象中分配存储空间,覆盖CEdit析构程序来处理分配情况。

关于CEdit的更多信息,请参阅联机文档“VisualC++程序员指南”中的“控件主题”。

#include<

afxwin.h>

请参阅 

CWnd,CButton,CComboBox,CListBox,CScrollBar,CStatic,CDialog

CEdit类的成员

构造函数

CEdit 

构造一个CEdit控件对象

Create 

创建一个Windows编辑控件,并将其与CEdit对象连接CEdit

属性

CanUndo 

决定一个编辑控件操作是否能够被撤销

GetLineCount 

获得多行编辑控件中的行数GetModify决定编辑控件的内容是否被修改SetModify为编辑控

件设置或清除修改标记

GetRect 

为编辑控件获取格式化的矩形

GetHandle 

获得为当前多行编辑控件分配的内存的句柄

SetHandle 

设置为多行编辑控件使用的本地内存的句柄

SetMargins 

为CEdit设置左边和右边的空白边界

GetMargins 

获得为CEdit设置左边和右边的空白边界

SetLimitText 

设置CEdit能够容纳的文本的最大量

GetLimitText 

获得CEdit能够容纳的文本的最大量

PosFromChar 

获得指定字符索引的左上角的坐标

CharFromPos 

获得最靠近指定位置的字符的行和字符索引

GetLine 

从编辑控件中获得一行文本

GetPasswordChar 

获得当用户输入文本时在编辑控件中显示的口令

GetFirstVisibleLeLine 

决定在编辑控件中最顶部的可视的行

CEdit操作

EmptyUndoBuffer 

重新设置(清除)编辑控件的撤销标记

FmtLines 

设置在多行编辑控件中的软回车打开或关闭

LimitText 

用户在输入文本时的文本长度限制

LineFromChar 

获得包含指定字符索引的行的数目

LineIndex 

获得在多行编辑控件中的某行的字符索引

LineLength 

获得编辑控件中的行的长度

LineScroll 

在多行编辑控件中滚动文本

ReplaceSel 

用指定文本覆盖编辑控件中当前被选中的文本

SetPasswordChar 

设置或清除当用户输入文本时在编辑控件中显示的口令

SetRect 

设置多行编辑控件的带格式的矩形,并更新该控件

SetRectNP 

设置多行编辑控件的带格式的矩形,而不必重新绘制

SetSel 

在编辑控件中选定文本

SetTabStops 

设置多行编辑控件的制表键停顿位

SetReadOnly 

为编辑控件设置只读状态

CEdit剪贴板操作

Undo 

撤销上一次的编辑控件操作

Clear 

删除(清除)编辑控件中当前选中的文本

Copy 

将编辑控件中的当前选中文本以CF_TEXT格式拷贝到剪贴板中

Cut 

删除编辑控件中当前选中的文本,并将删除的文本以CF_TEXT格式拷贝到剪贴板中

Paste 

在当前光标位置插入剪贴板内的文本。

只有在剪贴板数据为CF_TEXT格式时才进行插入

CEdit:

:

CanUndo

BOOLCanUndo()const;

返回值如果上一次编辑操作可以用Undo成员函数撤销,则返回非零值,否则为0。

说明调用该函数来决定上一次编辑操作是否可以撤销。

要了解更多信息,请参阅Win32文档中的EM_CANUNDO。

Undo,CEdit:

EmptyUndoBuffer

CEditCEdit();

说明构造一个CEdit对象。

使用Create来创建Windows编辑控件。

Create

CharFromPos

intCharFromPos(CPointpt)const;

返回值返回WORD低位的字符索引,以及WORD高位的行索引。

参数pt在客户区域中的CEdit对象的点的坐标。

说明调用该函数来获取基于0索引的行和最接近CEdit控件中指定点的字符索引。

注意 

该成员函数在Windows95和WindowsNT4.0中有效。

要了解更多的信息,请参阅Win32文档中的EM_CHARFROMMOPS。

PosFromChar

Clear

voidClear();

说明调用该函数来删除(清除)编辑控件中当前选中的文本。

由Clear进行的操作可以通过调用Undo成员函数撤销。

要删除当前选定文本并将其拷贝到剪贴板上,调用Cut成员函数。

要了解更多的信息,请参阅Win32文档中的WM_CLEAR。

Copy,CEdit:

Cut,CEdit:

Paste

Copyv

oidCopy();

说明调用该函数将编辑控件中的当前选中文本以CF_TEXT格式拷贝到剪贴板中。

要了解更多的信息,请参阅Win32文档中的WM_COPY。

Clear,CEdit:

BOOLCreate(DWORDdwStyle,constRECT&

rect,CWnd*pParentWnd,UNITnID);

返回值初始化成功,则返回非零值,否则为0。

参数dwStyle指定编辑控件的风格。

可以组合使用控件的编辑风格。

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,OnNcCreate和OnGetMinMaxInfo成员函数处理。

要扩展缺省的消息处理,先从CEdit派生一个类,为新类添加消息映射并覆盖上述消息处理成员函数。

例如,覆盖OnCreate为新类执行所需要的初始化操作。

可以为编辑控件应用如下的风格:

WS_CHILD 

总是采用

WS_VISIBLE 

经常采用

WS_DISABLED 

很少采用

WS_GROUP 

组合控件

WS_TABSTOP 

按制表键次序包含编辑控件

CEdit

Cut

voidCut();

说明调用该函数来删除(剪切)在编辑控件中的当前选定文本,并将其用CF_TEXT格式拷贝到剪贴板中。

由Cut执行的删除可以由Undo成员函数来撤销。

删除当前选定部分而不将已删除文本置于剪贴板,调用Clear成员函数。

要了解更多的信息,请参阅Win32文档中的WM_CUT。

Undo,CEdit:

VoidEmptyUndoBuffer();

说明调用此成员函数重新设置(清除)一个编辑控件中的撤消标记,使编辑控件不可撤消最近一次操作。

撤消标记在编辑控件的某个操作可以撤消时建立。

当调用SetWindows或SetHandleCwnd成员函数时,撤消标记自动被清除。

要了解更多的信息,请参阅Win32文档中的EM_EMPTYUNDOBUFFER。

CanUndo,CEdit:

SetHandle,CEdit:

Undo,CWnd:

SetWindowText

FmtLines

BOOL 

FmtLines(BOOLbAddEOL);

返回值如果发生格式化,则返回非零值,否则为0。

参数

bAddEOl

指定是否要插入软断行符,值为True时插入软断行符,为False时去掉软断行符。

说明调用此成员函数用于设置在一个多行编辑控件中是否包含软断行符。

一个软断行符包含在断行行末插入两个回车和一个换行,这是因为一行可容纳的文字有限。

而一个硬断行符包含一个回车和一个断行。

以硬断行符结束的行不受FmtLines的影响。

仅在CEdit对象是一个多行编辑控件时Windows才响应此命令。

FmtLines仅影响GetHandle返回的缓冲区和WM_GETTEXT返回的文本,而对编辑控件中的显示无影响。

要了解更多信息,请参阅Win32文档中的EM_FMTLINES。

GetHandle,CWnd:

GetWindowText

GetFirstVisibleLine

intGetFirstVisibleLine()const;

返回值可视的最顶端行的行号(行号由0开始),对单行编辑控件来说,返回值为0。

说明调用此成员函数决定编辑控件中可视的最顶端行的行号。

要了解更多信息,请参阅Win32文档中的EM_GETFIRSTVISIBLELINE。

GetLine

GetHandle

HLOCALGetHandle()const;

返回值一个用于标识编辑控件内容的局部内存句柄。

如果发生错误,例如发送信息到一个单行编辑控件,则返回值为0。

说明调用此成员函数来获取一个多行编辑控件中当前分配的内存句柄。

此句柄是一个局部内存句柄,可被任何局部Windows存储函数作为一个参数来获得。

GetHandle仅仅被多行编辑控件处理。

在一个多行编辑控件的对话框中调用此成员函数时,对话框必须由DS_LOCAL-EDIT的样式标志集生成。

如果不是,虽然也可以得到一个非零的返回值,但此返回值不可被使用。

GetHandle不可在Windows95下运行。

如果在Windows95下调用,会返回NULL。

GetHandle可在WindowsNT3.51版及以上使用。

要了解有关的更多信息,请参阅Win32文档中的EM_GETHANDLE。

SetHandle

GetLimitText

UINTGetLimitText()const;

返回值对当前CEdit对象的文本大小限制,以字节计算。

说明调用此成员函数来获取该CEdit对象的文本大小限制,文本限制是此编辑控件可以接收的文本的最大长度(以字节计算)。

此成员函数仅在Windows95和WindowsNT4.0以上版本中可用。

要了解更多信息,请参阅Win32文档中的EM_GETLIMITTEXT。

SetLimitText,CEdit:

LimitText

intGetLine(intnIndex,LPCTSTRlpszBuffer)const;

intGetLine(intnIndex,LPCTSTRlpszBuffer,intnMaxLength)const;

返回值实际拷贝的字节数。

如果由nIndex指定的行号大于此编辑控件的行数,则返回值为0。

nIndex 

指定从多行编辑控件中检索的行的行号,行号由0指定。

对单行编辑控件,此参数被忽略。

lpszBuffer指向获取此行备份的缓冲区。

缓冲区的第一个字必须指定能被拷贝到缓冲区的最大字节数。

nMaxLength指定能被拷贝到缓冲区的最大字节数,GetLine在调用Windows之前将此值放置到lpszBuffer的第一个字中。

说明调用此成员函数从编辑控件中获取文本的一行并将其放置到lpszBuffer缓冲区。

被拷贝的行不包括空终止符。

要了解更多信息,请参阅Win32文档中的EM_GETLINE。

GetLineCount

IntGetLineCount()const;

返回值

在多行编辑控件中的包含的一个整数总行数。

如果没有向控件输入任何文本,则返回值为1。

说明调用此成员函数获取一个多行编辑控件中的总行数。

此函数仅应用于多行编辑控件。

要了解更多信息,请参阅Win32文档中的EM_GETLINECOUNT。

GetMargins

DWORDGetMargins()const;

双字的低字位为左边距,高字位为右边距。

说明调用此成员函数获取编辑控件的左右边距,以像素表示。

要了解更多信息,请参阅Win32文档中的EM_GETMARGINS。

SetMargins

GetModify

GetModify()const

如果编辑控件的内容被改变,则返回值为非零,否则为0。

调用此成员函数测试编辑控件的内容是否被改变。

Windows有一个内部标记来表明编辑控件的内容是否被改变。

当编辑控件首次被创建时此标记被清除,在调用SetModify成员函数时也被清除。

要了解更多信息,请参阅Win32文档中的EM_GETMODIFY。

SetModify

GetPasswordChar

TCHARGetPasswordChar()const;

指定在用户输入字符处显示的字符。

如果无密码,则返回NULL。

调用此成员函数获取在用户输入密码时所显示的密码字符。

如果编辑控件是用ES_PASSWORD风格建立的,则缺省的密码字符为一个星号(*)。

要了解更多信息,请参阅Win32文档中的EM_GETPASSWORDCHAR。

SetPasswordChar

GetRect

voidGetRect(LPRECTlpRect)const;

lpRect 

指向RECT结构以接收格式化矩形。

调用此成员函数获取一个编辑控件的格式化矩形。

此格式化矩形为文本的边界矩形,与编辑控件窗口的大小无关。

多行编辑控件的格式化矩形可以被SetRect和SetRectNP成员函数改变。

要了解更多信息,请参阅Win32文档中的EM_GETRECT。

SetRect,CEdit:

SetRectNP

GetSel

DWORDGetSel()const;

voidGetSel(int&

nStartChar,int&

nEndChar)const;

此版本返回一个双字,其低位字为起始位置,高位字为第一个未被选中的字符的位置。

nStartChar 

指向当前选中部分的第一个字符位置,用整数表示。

nEndChar 

指向第一个未被选中的字符的位置,用整数表示。

调用此成员函数获取一个编辑控件中当前被选中部分(如果有)的起始和结束位置,可用参数也可用返回值。

要了解更多信息,请参阅Win32文档中的EM_GETSEL。

SetSel

voidLimitText(intnChars=0);

nChars 

指定用户可以输入的文本的长度(以字节枚举)。

如果参数为0,则长度设置为UINT_MAX个字节,这是缺省情况。

调用此成员函数限定用户可以向编辑控件中输入的文本的长度。

改变文本限定使用户能输入的文本受到限制,而对已在编辑控件中的文本没有影响,也不影响用CWnd中的SetWindowText成员函数能拷贝到编辑控件中的文本的长度。

如果用SetWindowText函数输入的文本超过调用LimitText函数所指定的值,则用户可以在编辑控件中删除任何文本,但文本限制会禁止用户将已存在的文本替换为新文本,直到删除当前所选文本而使文本大小降至限制以内。

在Win32(Windows95和WindowsNT)中,SetLimitText代替此函数。

要了解更多信息,请参阅Win32文档中的EM_LIMITTEXT。

CWnd:

SetWindowsText,CEdit:

GetLimitText,CEdit:

SelLimitText

LineFromChar

IntLineFromChar(intnIndex=-1)const;

返回由nIndex指定的字符索引的行号,此行号从0开始。

如果nIndex为-1,则返回所选部分第一个字符的行号,如果无选定部分,则返回当前行号。

nIndex包含编辑控件文本中所需字符的基于0的索引值,或者包含-1。

如果为-1则指定为当前行,即包含脱字符的行。

说明 

调用此成员函数获取包含指定字符索引的行的行号,字符索引指编辑控件中从开始到指定字符的字符数。

此成员函数仅适用于多行编辑控件。

要了解更多信息,请参阅Win32文档中的EM_LINEFROMCHAR。

LineIndex

IntLineIndex(intnLine=-1)const;

nLine所指定的行的字符索引。

如果指定的行号大于编辑控件的行数,则返回-1。

nline 

包含编辑控件文本中所需字符的索引值(此索引由0开始),如果为-1则指定为当前行,即包含脱字符的行。

调用此成员函数获取多行编辑控件中一行的字符索引,字符索引指从文本控件中文本开头到指定行的字符数。

要了解更多信息,请参阅Win32文档中的EM_LINEINDEX。

LineLength

IntLineLength(intnLine=-1)const;

当函数由多行编辑控件调用时,返回由nLine所指定的行的长度(以字节数表示);

当函数由单行编辑控件调用时,返回编辑控件中文本的长度(以字节数表示)。

nLine指定要获取长度的行的字符索引。

如果参数值为-1,表示当前行(即包含脱字符的行),不包括此行中被选中的部分文本的长度。

LineLength在单行编辑控件调用时是被忽略的。

调用此成员函数获取在编辑控件中一行的字符长度。

调用此成员函数在多行编辑控件中获取一个指定了行号的行的字符索引。

要了解更多信息,请参阅Win32文档中的EM_LINELENGTH。

LineScroll

voidLineScroll(intnLine,intnChars=0);

nLine 

指定纵向滚动的行数。

指定水平滚动的字符数。

如果编辑控件使用ES_RIGHT或ES_CENTE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1