MFC - 编辑框
编辑框是一个矩形子窗口,用户可以在其中输入文本。 它由CEdit类表示。
序号 |
名称和描述 |
1 |
CanUndo 确定是否可以撤消编辑控制操作。 |
2 |
CharFromPos 检索最接近指定位置的字符的行索引和字符索引。 |
3 |
Clear 删除(清除)编辑控件中的当前选择(如果有)。 |
4 |
Copy 以 CF_TEXT 格式将编辑控件中的当前选择(如果有)复制到剪贴板。 |
5 |
Create 创建 Windows 编辑控件并将其附加到 CEdit 对象。 |
6 |
Cut 删除(剪切)编辑控件中的当前选择(如果有),并将删除的文本以 CF_TEXT 格式复制到剪贴板。 |
7 |
EmptyUndoBuffer 重置(清除)编辑控件的撤消标志。 |
8 |
FmtLines 设置在多行编辑控件中打开或关闭软换行符。 |
9 |
GetCueBanner 检索当控件为空且没有焦点时在编辑控件中显示为文本提示或提示的文本。 |
10 |
GetFirstVisibleLine 确定编辑控件中最上面的可见行。 |
11 |
GetHandle 检索当前为多行编辑控件分配的内存的句柄。 |
12 |
GetHighlight 获取当前编辑控件中突出显示的文本范围内的起始字符和结束字符的索引。 TD>
|
13 |
GetLimitText 获取此CEdit可以包含的最大文本量。 |
14 |
GetLine 从编辑控件中检索一行文本。 |
15 |
GetLineCount 检索多行编辑控件中的行数。 |
16 |
GetMargins 获取此 CEdit 的左右边距。 |
17 |
GetModify 确定编辑控件的内容是否已被修改。 |
18 |
GetPasswordChar 检索用户输入文本时显示在编辑控件中的密码字符。 |
19 |
GetRect 获取编辑控件的格式矩形。 |
20 |
GetSel 获取编辑控件中当前选择的第一个和最后一个字符位置。 |
21 |
HideBalloonTip 隐藏与当前编辑控件关联的任何气球提示。 |
22 |
LimitText 限制用户可以输入编辑控件的文本长度。 |
23 |
LineFromChar 检索包含指定字符索引的行的行号。 |
24 |
LineIndex 检索多行编辑控件中一行的字符索引。 |
25 |
LineLength 检索编辑控件中行的长度。 |
26 |
LineScroll 滚动多行编辑控件的文本。 |
27 |
Paste 将剪贴板中的数据插入到当前光标位置的编辑控件中。 仅当剪贴板包含 CF_TEXT 格式的数据时才会插入数据。 |
28 |
PosFromChar 检索指定字符索引的左上角坐标。 |
29 |
ReplaceSel 用指定的文本替换编辑控件中的当前选择。 |
30 |
SetCueBanner 设置当编辑控件为空且没有焦点时在编辑控件中显示为文本提示或提示的文本。 |
31 |
SetHandle 设置多行编辑控件将使用的本地内存句柄。 |
32 |
SetHighlight 突出显示当前编辑控件中显示的一系列文本。 |
33 |
SetLimitText 设置此 CEdit 可以包含的最大文本量。 |
34 |
SetMargins 设置此 CEdit 的左右边距。 |
35 |
SetModify 设置或清除编辑控件的修改标志。 |
36 |
SetPasswordChar 设置或删除用户输入文本时显示在编辑控件中的密码字符。 |
37 |
SetReadOnly 设置编辑控件的只读状态。 |
38 |
SetRect 设置多行编辑控件的格式矩形并更新控件。 |
39 |
SetRectNP 设置多行编辑控件的格式矩形,而不重绘控件窗口。 |
40 |
SetSel 选择编辑控件中的字符范围。 |
41 |
SetTabStops 在多行编辑控件中设置制表位。 |
42 |
ShowBalloonTip 显示与当前编辑控件关联的气球提示。 |
43 |
Undo 撤消上次编辑控件操作。 |
消息 |
映射条目 |
描述 |
EN_CHANGE |
ON_EN_CHANGE( <id>, <memberFxn> ) |
用户执行的操作可能会更改编辑控件中的文本。 |
EN_ERRSPACE |
ON_EN_ERRSPACE( <id>, <memberFxn> ) |
编辑控件无法分配足够的内存来满足特定请求。 |
EN_HSCROLL |
ON_EN_HSCROLL( <id>, <memberFxn> ) |
用户单击编辑控件的水平滚动条。 屏幕更新之前会通知父窗口。 |
EN_KILLFOCUS |
ON_EN_KILLFOCUS( <id>, <memberFxn> ) |
编辑控件失去输入焦点。 |
MAXTEXT |
ON_MAXTEXT( <id>, <memberFxn> ) |
当前插入内容超出了编辑控件指定的字符数,已被截断。 |
EN_SETFOCUS |
ON_EN_SETFOCUS( <id>, <memberFxn> ) |
当编辑控件收到输入焦点时发送。 |
EN_UPDATE |
ON_EN_UPDATE( <id>, <memberFxn> ) |
编辑控件即将显示更改后的文本。 在控件格式化文本之后但在屏幕文本之前发送,以便可以根据需要更改窗口大小。 |
EN_VSCROLL |
ON_EN_VSCROLL( <id>, <memberFxn> ) |
用户单击编辑控件的垂直滚动条。 在屏幕更新之前,父窗口会收到通知。 |
让我们通过创建一个新的基于 MFC 对话框的项目来了解一个简单的示例。
步骤 1 − 删除静态文本控件的标题,并拖动一个按钮和一个编辑控件。
步骤 2 − 为编辑控件添加控件变量 m_editCtrl,为静态文本控件添加值变量 m_strTextCtrl。
步骤 3 − 添加按钮点击事件的事件处理程序。
步骤 4 − 这是按钮单击事件的事件处理程序的实现。
void CMFCEditDlg::OnBnClickedButton1() {
// TODO: Add your control notification handler code here
CString str = _T("");
m_editCtrl.GetWindowTextW(str);
if (!str.IsEmpty())
m_strTextCtrl = str;
else
m_strTextCtrl = _T("Write Something");
UpdateData(FALSE);
}
步骤 5 − 当上面的代码被编译并执行时,您将看到以下内容。
步骤 6 − 当您在编辑控件中写入文本并单击"显示"时,它将更新静态文本控件上的文本。
❮ mfc_windows_controls.html