编辑控件 (Windows 控件) - Win32 apps

2025-05-20 10:55:21

本部分包含有关用于编辑控件的编程元素的信息。

编辑控件 是一个矩形控件窗口,通常用于对话框中,允许用户在键盘上键入和编辑文本。

综述

主题

内容

关于编辑控件 的

编辑控件是一个矩形控件窗口,通常用于对话框中,使用户能够输入和编辑文本。

编辑控件文本作

系统会自动处理所有用户启动的文本作,并在作完成后通知应用程序。

使用编辑控件

编辑控件通常用于对话框,但也可以在标准窗口的工作区中使用它们。 单行编辑控件可用于从用户检索单个字符串。 使用多行编辑控件,应用程序可以轻松实现简单字处理器的大部分功能。

功能

主题

内容

EditWordBreakProc

与 EM_SETWORDBREAKPROC 消息一起使用的应用程序定义的回调函数。 多行编辑控件或富编辑控件调用 EditWordBreakProc 函数来中断文本行。

EDITWORDBREAKPROC 类型定义指向此回调函数的指针。

EditWordBreakProc 是应用程序定义的函数名称的占位符。

主题

内容

Edit_CanUndo

确定编辑控件或富编辑控件的撤消队列中是否有任何作。 可以使用此宏或显式发送 EM_CANUNDO 消息。

Edit_EmptyUndoBuffer

重置编辑或富编辑控件的撤消标志。 每当可以撤消编辑控件中的作时,都会设置撤消标志。 可以使用此宏或显式发送 EM_EMPTYUNDOBUFFER 消息。

Edit_Enable

启用或禁用编辑控件。

Edit_FmtLines

设置一个标志,该标志确定从多行编辑控件检索到的文本是否包括软换行符。 软换行符由两个回车符和一个换行符组成,并插入到由于换字而断开的行的末尾。 可以使用此宏或显式发送 EM_FMTLINES 消息。

Edit_GetCaretIndex

获取编辑控件中插入符号位置的从零开始的索引。 可以使用此宏或显式发送 EM_GETCARETINDEX 消息。

Edit_GetCueBannerText

获取在编辑控件中显示为文本提示或提示的文本。 可以使用此宏或显式发送 EM_GETCUEBANNER 消息。

Edit_GetEndOfLine

获取指定编辑控件的行尾字符。 使用此宏或显式发送 EM_GETENDOFLINE 消息。

Edit_GetExtendedStyle

获取指定编辑控件的扩展样式。 使用此宏或显式发送 EM_GETEXTENDEDSTYLE 消息。

Edit_GetFirstVisibleLine

获取多行编辑或富编辑控件中最上端可见行的索引。 可以使用此宏或显式发送 EM_GETFIRSTVISIBLELINE 消息。

Edit_GetHandle

获取当前为多行编辑控件的文本分配的内存的句柄。 可以使用此宏或显式发送 EM_GETHANDLE 消息。

Edit_GetHilite

未实现。

Edit_GetLine

从编辑或富编辑控件中检索文本行。 可以使用此宏或显式发送 EM_GETLINE 消息。

Edit_GetLineCount

获取编辑控件文本中的行数。 可以使用此宏或显式发送 EM_GETLINECOUNT 消息。

Edit_GetModify

获取编辑或富编辑控件的修改标志的状态。 该标志指示控件的内容是否已修改。 可以使用此宏或显式发送 EM_GETMODIFY 消息。

Edit_GetPasswordChar

获取编辑或富编辑控件的密码字符。 可以使用此宏或显式发送 EM_GETPASSWORDCHAR 消息。

Edit_GetRect

获取编辑控件的格式矩形。 可以使用此宏或显式发送 EM_GETRECT 消息。

Edit_GetSel

获取编辑或丰富编辑控件中当前所选内容的起始和结束字符位置。 可以使用此宏或显式发送 EM_GETSEL 消息。

Edit_GetText

获取编辑控件的文本。

Edit_GetTextLength

获取编辑控件文本中的字符数。

Edit_GetWordBreakProc

检索编辑或富编辑控件的 Wordwrap 函数的地址。 可以使用此宏或显式发送 EM_GETWORDBREAKPROC 消息。

Edit_GetZoom

获取当前缩放比例,该比率始终介于 1/64 和 64 之间。 可以使用此宏或显式发送 EM_GETZOOM 消息。

Edit_HideBalloonTip

隐藏与编辑控件关联的任何气球提示。 可以使用此宏或显式发送 EM_HIDEBALLOONTIP 消息。

Edit_LimitText

限制可进入编辑控件的文本长度。 可以使用此宏或显式发送 EM_LIMITTEXT 消息。

Edit_LineFromChar

获取在多行编辑或富编辑控件中包含指定字符索引的行的索引。 可以使用此宏或显式发送 EM_LINEFROMCHAR 消息。

Edit_LineIndex

获取多行编辑或富编辑控件中指定行的第一个字符的字符索引。 可以使用此宏或显式发送 EM_LINEINDEX 消息。

Edit_LineLength

检索编辑或丰富编辑控件中行的长度(以字符为单位)。 可以使用此宏或显式发送 EM_LINELENGTH 消息。

Edit_NoSetFocus

供内部使用;不建议在应用程序中使用。 防止单行编辑控件接收键盘焦点。 可以使用此宏或显式发送 EM_NOSETFOCUS 消息。

Edit_ReplaceSel

将编辑控件或富编辑控件中的选定文本替换为指定的文本。 可以使用此宏或显式发送 EM_REPLACESEL 消息。

Edit_Scroll

在多行编辑或富编辑控件中垂直滚动文本。 可以使用此宏或显式发送 EM_SCROLL 消息。

Edit_ScrollCaret

在编辑或富编辑控件中将插入符号滚动到视图中。 可以使用此宏或显式发送 EM_SCROLLCARET 消息。

Edit_SetCaretIndex

设置编辑控件中插入符号位置的从零开始的索引。 可以使用此宏或显式发送 EM_SETCARETINDEX 消息。

Edit_SetCueBannerText

为编辑控件设置显示为文本提示或提示的文本。 可以使用此宏或显式发送 EM_SETCUEBANNER 消息。

Edit_SetCueBannerTextFocused

为编辑控件设置显示为文本提示或提示的文本。 可以使用此宏或显式发送 EM_SETCUEBANNER 消息。

Edit_SetEndOfLine

设置指定编辑控件的行尾字符。 使用此宏或显式发送 EM_SETENDOFLINE 消息。

Edit_SetExtendedStyle

设置指定编辑控件的扩展样式。 使用此宏或显式发送 EM_SETEXTENDEDSTYLE 消息。

Edit_SetHandle

设置多行编辑控件将使用的内存的句柄。 可以使用此宏或显式发送 EM_SETHANDLE 消息。

Edit_SetHilite

未实现。

Edit_SetModify

设置或清除编辑控件的修改标志。 修改标志指示编辑控件中的文本是否已修改。 可以使用此宏或显式发送 EM_SETMODIFY 消息。

Edit_SetPasswordChar

设置或删除编辑或富编辑控件的密码字符。 设置密码字符时,将显示该字符代替用户键入的字符。 可以使用此宏或显式发送 EM_SETPASSWORDCHAR 消息。

Edit_SetReadOnly

设置或删除编辑或富编辑控件的只读样式(ES_READONLY)。 可以使用此宏或显式发送 EM_SETREADONLY 消息。

Edit_SetRect

设置编辑控件的格式矩形。 可以使用此宏或显式发送 EM_SETRECT 消息。

Edit_SetRectNoPaint

设置多行编辑控件的格式矩形。 此宏等效于 Edit_SetRect,只不过它不重新绘制编辑控件窗口。 可以使用此宏或显式发送 EM_SETRECTNP 消息。

Edit_SetSel

在编辑或富编辑控件中选择一系列字符。 可以使用此宏或显式发送 EM_SETSEL 消息。

Edit_SetTabStops

设置多行编辑或富编辑控件中的制表位。 当文本复制到控件时,文本中的任何制表符都会导致将空格生成到下一个制表位。 可以使用此宏或显式发送 EM_SETTABSTOPS 消息。

Edit_SetText

设置编辑控件的文本。

Edit_SetWordBreakProc

将编辑控件的默认 Wordwrap 函数替换为应用程序定义的 Wordwrap 函数。 可以使用此宏或显式发送 EM_SETWORDBREAKPROC 消息。

Edit_SetZoom

将缩放比例设置为 1/64 和 64 之间的任意位置。 可以使用此宏或显式发送 EM_SETZOOM 消息。

Edit_ShowBalloonTip

显示与编辑控件关联的气球提示。 可以使用此宏或显式发送 EM_SHOWBALLOONTIP 消息。

Edit_TakeFocus

供内部使用;不建议在应用程序中使用。 强制单行编辑控件接收键盘焦点。 可以使用此宏或显式发送 EM_TAKEFOCUS 消息。

Edit_Undo

撤消编辑或富编辑控件的撤消队列中的最后一个作。 可以使用此宏或显式发送 EM_UNDO 消息。

消息

主题

内容

EM_CANUNDO

确定编辑控件的撤消队列中是否有任何作。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_CHARFROMPOS

获取有关离编辑控件工作区中指定点最近的字符的信息。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_EMPTYUNDOBUFFER

重置编辑控件的撤消标志。 每当可以撤消编辑控件中的作时,都会设置撤消标志。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_FMTLINES

设置一个标志,该标志确定多行编辑控件是否包括软换行符。 软换行符由两个回车符和一个换行符组成,并插入到由于换字而断开的行的末尾。

EM_GETCARETINDEX

获取编辑控件中插入符号位置的从零开始的索引。

EM_GETCUEBANNER

获取在编辑控件中显示为文本提示或提示的文本。

EM_GETENDOFLINE

获取指定编辑控件的行尾字符。 可以显式发送此消息,也可以使用 Edit_GetEndOfLine 宏发送。

EM_GETEXTENDEDSTYLE

获取编辑控件的扩展样式。 显式发送此消息或使用 Edit_GetExtendedStyle 宏发送。

EM_GETFIRSTVISIBLELINE

获取多行编辑控件中最上端可见行的从零开始的索引。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETHANDLE

获取当前为多行编辑控件的文本分配的内存的句柄。

EM_GETHILITE

未实现。

EM_GETIMESTATUS

获取一组状态标志,这些标志指示编辑控件如何与输入法编辑器(IME)交互。

EM_GETLIMITTEXT

获取编辑控件的当前文本限制。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETLINE

从编辑控件复制一行文本并将其置于指定的缓冲区中。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETLINECOUNT

获取多行编辑控件中的行数。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETMARGINS

获取编辑控件的左右边距的宽度。

EM_GETMODIFY

获取编辑控件的修改标志的状态。 该标志指示是否修改了编辑控件的内容。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETPASSWORDCHAR

获取编辑控件在用户输入文本时显示的密码字符。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETRECT

获取编辑控件 格式矩形。 格式矩形是控件在其中绘制文本的限制矩形。 限制矩形独立于编辑控件窗口的大小。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETSEL

获取编辑控件中当前所选内容的起始和结束字符位置(TCHARs)。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETTHUMB

获取多行编辑控件垂直滚动条中滚动框(thumb)的位置。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETWORDBREAKPROC

获取当前 Wordwrap 函数的地址。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_GETZOOM

获取当前缩放比例,该比率始终介于 1/64 和 64 之间。 可以将此消息发送到编辑控件或丰富的编辑控件。 可以显式发送此消息,也可以使用 Edit_GetZoom 宏发送。

EM_HIDEBALLOONTIP

隐藏与编辑控件关联的任何气球提示。

EM_LIMITTEXT

设置编辑控件的文本限制。 文本限制是用户可键入编辑控件的最大文本量(TCHAR)。 可以将此消息发送到编辑控件或丰富的编辑控件。 对于编辑控件和Microsoft Rich Edit 1.0,使用字节。 对于 Microsoft Rich Edit 2.0 及更高版本,将使用字符。

EM_LINEFROMCHAR

获取包含多行编辑控件中指定字符索引的行的索引。 字符索引是编辑控件开头字符的从零开始的索引。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_LINEINDEX

获取多行编辑控件中指定行的第一个字符的字符索引。 字符索引是编辑控件开头字符的从零开始的索引。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_LINELENGTH

检索编辑控件中行的长度(以字符为单位)。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_LINESCROLL

滚动多行编辑控件中的文本。

EM_NOSETFOCUS

供内部使用;不建议在应用程序中使用。 防止单行编辑控件接收键盘焦点。 可以显式发送此消息,也可以使用 Edit_NoSetFocus 宏发送。

EM_POSFROMCHAR

检索编辑控件中指定字符的工作区坐标。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_REPLACESEL

将编辑控件或富编辑控件中的选定文本替换为指定的文本。

EM_SCROLL

在多行编辑控件中垂直滚动文本。 此消息等效于将 WM_VSCROLL 消息发送到编辑控件。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SCROLLCARET

将插入点滚动到编辑控件的视图中。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETCARETINDEX

设置编辑控件中插入符号位置的从零开始的索引。

EM_SETCUEBANNER

设置编辑控件显示的文本提示或提示,以提示用户输入信息。

EM_SETENDOFLINE

设置指定编辑控件的行尾字符。 可以显式发送此消息,也可以使用 Edit_SetEndOfLine 宏发送。

EM_SETEXTENDEDSTYLE

设置编辑控件的扩展样式。 显式发送此消息或使用 Edit_SetExtendedStyle 宏发送。

EM_SETHANDLE

设置多行编辑控件将使用的内存的句柄。

EM_SETHILITE

未实现。

EM_SETIMESTATUS

设置确定编辑控件如何与 IME 交互的状态标志。

EM_SETLIMITTEXT

设置编辑控件的文本限制。 文本限制是用户可键入编辑控件的最大文本量(TCHAR)。 可以将此消息发送到编辑控件或丰富的编辑控件。 对于编辑控件和Microsoft Rich Edit 1.0,使用字节。 对于 Microsoft Rich Edit 2.0 及更高版本,将使用字符。

EM_SETLIMITTEXT 消息与 EM_LIMITTEXT 消息相同。

EM_SETMARGINS

设置编辑控件的左右边距的宽度。 该消息重新绘制控件以反映新边距。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETMODIFY

设置或清除编辑控件的修改标志。 修改标志指示编辑控件中的文本是否已修改。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETPASSWORDCHAR

设置或删除编辑控件的密码字符。 设置密码字符时,将显示该字符代替用户键入的字符。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETREADONLY

设置或删除编辑控件的只读样式(ES_READONLY)。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETRECT

设置多行编辑控件 格式矩形。 格式矩形是控件在其中绘制文本的限制矩形。 限制矩形与编辑控件窗口的大小无关。 此消息仅由多行编辑控件处理。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETRECTNP

设置多行编辑控件 格式矩形。

EM_SETRECTNP 消息与 EM_SETRECT 消息相同,但 EM_SETRECTNP不 重新绘制编辑控件窗口。 格式矩形是控件在其中绘制文本的限制矩形。 限制矩形与编辑控件窗口的大小无关。 此消息仅由多行编辑控件处理。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETSEL

在编辑控件中选择一系列字符。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETTABSTOPS

EM_SETTABSTOPS 消息设置多行编辑控件中的制表位。 当文本复制到控件时,文本中的任何制表符都会导致将空格生成到下一个制表位。 此消息仅由多行编辑控件处理。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETWORDBREAKPROC

将编辑控件的默认 Wordwrap 函数替换为应用程序定义的 Wordwrap 函数。 可以将此消息发送到编辑控件或丰富的编辑控件。

EM_SETZOOM

将缩放比例设置为 1/64 和 64 之间的任意位置。 可以将此消息发送到编辑控件或丰富的编辑控件。 可以显式发送此消息,也可以使用 Edit_SetZoom 宏发送。

EM_SHOWBALLOONTIP

EM_SHOWBALLOONTIP 消息显示与编辑控件关联的气球提示。

EM_TAKEFOCUS

供内部使用;不建议在应用程序中使用。 强制单行编辑控件接收键盘焦点。 可以显式发送此消息,也可以使用 Edit_TakeFocus 宏发送。

EM_UNDO

此消息将撤消控件的撤消队列中的最后一个编辑控件作。 可以将此消息发送到编辑控件或丰富的编辑控件。

WM_UNDO

应用程序将 WM_UNDO 消息发送到编辑控件以撤消上一个作。 当此消息发送到编辑控件时,将还原以前删除的文本或删除以前添加的文本。

通知

主题

内容

EN_ALIGN_LTR_EC

当用户将编辑控件方向更改为从左到右时发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_ALIGN_RTL_EC

当用户将编辑控件方向更改为从右到左时发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_CHANGE

当用户执行了可能已更改编辑控件中的文本的作时发送。 与 EN_UPDATE 通知代码不同,此通知代码在系统更新屏幕后发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_ERRSPACE

当编辑控件无法分配足够的内存以满足特定请求时发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_HSCROLL

当用户单击编辑控件的水平滚动条时发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。 在更新屏幕之前,会通知父窗口。

EN_KILLFOCUS

当编辑控件失去键盘焦点时,将发送 EN_KILLFOCUS 通知代码。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_MAXTEXT

当当前文本插入超过编辑控件的指定字符数时发送。 文本插入已被截断。 当编辑控件没有 ES_AUTOHSCROLL 样式且要插入的字符数超过编辑控件的宽度时,也会发送此消息。 当编辑控件没有 ES_AUTOVSCROLL 样式并且文本插入产生的行总数超过编辑控件的高度时,也会发送此消息。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_SETFOCUS

编辑控件接收键盘焦点时发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_UPDATE

编辑控件即将重新绘制自身时发送。 此通知代码在控件格式化文本之后发送,但在显示文本之前。 这样就可以根据需要调整编辑控件窗口的大小。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。

EN_VSCROLL

当用户单击编辑控件的垂直滚动条或用户滚动鼠标滚轮在编辑控件上时发送。 编辑控件的父窗口通过 WM_COMMAND 消息接收此通知代码。 在更新屏幕之前,会通知父窗口。

WM_CTLCOLOREDIT

未只读或禁用的编辑控件将在控件即将绘制时将 WM_CTLCOLOREDIT 消息发送到其父窗口。 通过响应此消息,父窗口可以使用指定的设备上下文句柄设置编辑控件的文本和背景色。

结构

主题

内容

EDITBALLOONTIP

包含有关与按钮控件关联的气球提示的信息。

常数

主题

内容

编辑控件样式

若要使用 CreateWindow 或 CreateWindowEx 函数创建编辑控件,请指定 EDIT 类、适当的窗口样式常量以及以下编辑控件样式的组合。 创建控件后,无法修改这些样式,除非另有说明。

批量开包:打开《炉石传说》卡包的新方式
蘑菇有哪几个部分组成? 蘑菇由什么构成