win_wrap::control

Struct WindowControl

Source
pub struct WindowControl { /* private fields */ }
Expand description

窗口控件

Implementations§

Source§

impl WindowControl

Source

pub fn get_process_handle(&self) -> HANDLE

获取进程句柄。

Source

pub fn send_message(&self, msg: u32, wp: WPARAM, lp: LPARAM) -> (LRESULT, usize)

把消息发送到控件。 msg 消息值。 wp 参数1。 lp 参数2。

Source§

impl WindowControl

Source

pub fn get_text(&self) -> Option<String>

def_window_proc 函数将与窗口关联的文本复制到指定的缓冲区中,并返回复制的字符数。 请注意,对于非文本静态控件,这会提供最初创建控件时使用的文本,即 ID 号。 但是,它提供最初创建的非文本静态控件的 ID。 也就是说,如果随后使用 STM_SETIMAGE 对其进行更改,则仍会返回原始 ID。 对于编辑控件,要复制的文本是编辑控件的内容。 对于组合框,文本是编辑控件 (或静态文本) 组合框部分的内容。 对于按钮,文本是按钮名称。 对于其他窗口,文本是窗口标题。 若要复制列表框中项的文本,应用程序可以使用 LB_GETTEXT 消息。 将 WM_GETTEXT 消息发送到具有 SS_ICON 样式的静态控件时, 将在 lParam 指向的缓冲区前四个字节中返回图标的句柄。 仅当 WM_SETTEXT 消息已用于设置图标时,才如此。 富编辑: 如果要复制的文本超过 64K,请使用 EM_STREAMOUT 或 EM_GETSELTEXT 消息。 向非文本静态控件(如静态位图或静态图标控件)发送 WM_GETTEXT 消息不会返回字符串值。相反,它返回零。 此外,在早期版本的 Windows 中,应用程序可以将 WM_GETTEXT 消息发送到非文本静态控件,以检索控件的 ID。 若要检索控件的 ID,应用程序可以使用 get_window_long 传递GWL_ID作为索引值,或使用 GWLP_ID传递 get_window_long_ptr。

Source

pub fn set_redraw(&self, enabled: bool) -> usize

允许重绘该窗口中的更改,或防止重绘该窗口中的更改。 如果应用程序处理此消息,则它应返回 0。 如果应用程序必须向列表框添加多个项,则此消息可能很有用。 应用程序可以在 enabled 设置为 false 的情况下调用此消息,添加项,然后在 enabled 设置为 true 的情况下再次调用该消息。 最后,应用程序可以调用 redraw_window (hWnd、 NULL、 NULL RDW_ERASE |RDW_FRAME |RDW_INVALIDATE |RDW_ALLCHILDREN) 会导致重新绘制列表框。 应将 redraw_window 与指定的标志一起使用,而不是 invalidate_rect,因为前者对于某些控件而言是必需的,这些控件具有自己的非工作区,或者具有导致它们获得非工作区 ((如 WS_THICKFRAME、 WS_BORDER 或 WS_EX_CLIENTEDGE) )。 如果控件没有非工作区,则带这些标志的 redraw_window 将只执行 与 invalidate_rect 一样多的失效。 当 enabled 设置为 false 时,将WM_SETREDRAW消息传递给 def_window_proc 函数会从窗口中删除WS_VISIBLE样式。 尽管窗口内容在屏幕上保持可见,但在此状态下的窗口上调用 is_window_visible 函数时返回 FALSE 。 当 enabled 设置为 true 时,将WM_SETREDRAW消息传递给 def_window_proc 函数会将WS_VISIBLE样式添加到窗口(如果未设置)。 如果应用程序将 enabled 设置为 true的WM_SETREDRAW消息发送到隐藏窗口,则该窗口将变为可见。 Windows 10 及更高版本;Windows Server 2016 及更高版本。 系统在窗口上设置名为 SysSetRedraw 的属性,该窗口的窗口过程将 WM_SETREDRAW 消息传递给 def_window_proc。 可以使用 get_prop 函数获取属性值(如果可用)。 禁用重绘时,get_prop 返回非零值。 启用重绘或窗口属性不存在时,get_prop 将返回零。 enabled 重绘状态。 如果此参数为 true,则可以在更改后重绘内容。 如果此参数为 false,则更改后无法重绘内容。

Source

pub fn set_text(&self, text: &str) -> bool

设置窗口的文本。 如果设置了文本,则返回值为 true 。如果没有足够的空间来设置编辑控件中的文本,则为 FALSE (编辑控件) , LB_ERRSPACE (列表框);CB_ERRSPACE (组合框)。 如果此消息发送到没有编辑控件的组合框,则会 CB_ERR 。 def_window_proc 函数设置并显示窗口文本。 对于编辑控件,文本是编辑控件的内容。 对于组合框,文本是组合框编辑控件部分的内容。 对于按钮,文本是按钮名称。 对于其他窗口,文本是窗口标题。 此消息不会更改组合框的列表框中的当前选择。 应用程序应使用 CB_SELECTSTRING 消息在列表框中选择与编辑控件中的文本匹配的项。

Source

pub fn paint(&self) -> usize

当系统或其他应用程序请求绘制应用程序窗口的一部分时,将发送 WM_PAINT 消息。 调用 update_window 或 redraw_window 函数时发送消息,当应用程序使用 get_message 或 peek_message 函数获取WM_PAINT消息时,将发送该消息。 窗口通过其 WindowProc 函数接收此消息。 如果应用程序处理此消息,则返回零。 WM_PAINT消息由系统生成,不应由应用程序发送。 若要强制窗口绘制到特定设备上下文中,请使用 WM_PRINT 或 WM_PRINTCLIENT 消息。 请注意,这需要目标窗口支持 WM_PRINTCLIENT 消息。 大多数常用控件支持 WM_PRINTCLIENT 消息。 def_window_proc 函数验证更新区域。 如果必须绘制窗口框架,函数还可以将 WM_NCPAINT 消息发送到窗口过程,如果必须擦除窗口背景,则发送 WM_ERASEBKGND 消息。 当应用程序的消息队列中没有其他消息时,系统会发送此消息。 dispatch_message 确定消息的发送位置; get_message 确定要调度的消息。 当应用程序的消息队列中没有其他消息时,get_message 将返回WM_PAINT消息,并且 dispatch_message 会将消息发送到相应的窗口过程。 由于调用 redraw_window 并设置了RDW_INTERNALPAINT标志,窗口可能会收到内部绘制消息。 在这种情况下,窗口可能不包含更新区域。 应用程序可以调用 get_update_rect 函数来确定窗口是否具有更新区域。 如果 get_update_rect 返回零,则应用程序无需调用 begin_paint 和 end_paint 函数。 应用程序必须通过查看每个WM_PAINT消息的内部数据结构来检查任何必要的内部绘制,因为WM_PAINT消息可能是由非 NULL 更新区域和调用 redraw_window 以及设置了RDW_INTERNALPAINT标志的 redraw_window 引起的。 系统仅发送一次内部 WM_PAINT 消息。 从 get_message 或 peek_message 返回内部WM_PAINT消息或由 update_window 发送到窗口后,系统不会发布或发送进一步WM_PAINT消息,直到窗口失效或重新调用 redraw_window 并设置RDW_INTERNALPAINT标志。 对于某些常见控件,默认 WM_PAINT 消息处理会检查 wParam 参数。 如果 wParam 为非 NULL,则控件假定该值为 HDC,并使用该设备上下文进行绘制。

Source

pub fn print(&self, h_dc: HDC, options: i32) -> usize

WM_PRINT消息将发送到窗口,请求它在指定的设备上下文(最常见的是打印机设备上下文)中绘制自身。 窗口通过其 WindowProc 函数接收此消息。 h_dc 要绘制的设备上下文的句柄。 options 绘图选项。 此参数可使用以下一个或多个值。

  • PRF_CHECKVISIBLE 仅当窗口可见时,才会绘制该窗口。
  • PRF_CHILDREN 绘制所有可见子窗口。
  • PRF_CLIENT 绘制窗口的工作区。
  • PRF_ERASEBKGND 在绘制窗口之前擦除背景。
  • PRF_NONCLIENT 绘制窗口的非工作区。
  • PRF_OWNED 绘制所有拥有的窗口。 def_window_proc 函数根据指定的绘图选项处理此消息:如果指定了PRF_CHECKVISIBLE并且窗口不可见,则不执行任何操作,如果指定了PRF_NONCLIENT,则绘制指定设备上下文中的非工作区,如果指定了PRF_ERASEBKGND,则向窗口发送WM_ERASEBKGND消息,如果指定了PRF_CLIENT, 向窗口发送WM_PRINTCLIENT消息,如果设置了PRF_CHILDREN,则向每个可见子窗口发送一条WM_PRINT消息,如果设置了PRF_OWNED,则向每个可见的拥有窗口发送一条WM_PRINT消息。
Source

pub fn close(&self) -> usize

作为窗口或应用程序应终止的信号发送。 窗口通过其 WindowProc 函数接收此消息。 如果应用程序处理此消息,则它应返回零。 应用程序可以在销毁窗口之前提示用户进行确认,方法是处理 WM_CLOSE 消息,并仅在用户确认选择时调用 destroy_window 函数。 默认情况下, def_window_proc 函数调用 destroy_window 函数来销毁窗口。

Source

pub fn cut(&self)

应用程序将 WM_CUT 消息发送到编辑控件或组合框,以删除 (剪切) 编辑控件中的当前选定内容(如果有),并将已删除的文本以 CF_TEXT 格式复制到剪贴板。 可以通过向编辑控件发送EM_UNDO消息来撤消WM_CUT消息执行的删除操作。 若要删除当前选定内容而不将已删除的文本放在剪贴板上,请使用 WM_CLEAR 消息。 发送到组合框时, WM_CUT 消息由其编辑控件处理。 发送到具有 CBS_DROPDOWNLIST 样式的组合框时,此消息无效。

Source

pub fn copy(&self)

此消息由应用程序发送到编辑控件或组合框,以CF_UNICODETEXT格式将当前选定内容复制到剪贴板。 当发送到组合框时,WM_COPY消息由其编辑控件处理。此消息在发送到具有CBS_DROPDOWNLIST样式的组合框时不起作用。

Source

pub fn paste(&self)

应用程序将 WM_PASTE 消息发送到编辑控件或组合框,以将剪贴板的当前内容复制到位于当前插入点位置的编辑控件。 仅当剪贴板包含 CF_TEXT 格式的数据时,才会插入数据。 发送到组合框时, WM_PASTE 消息由其编辑控件处理。 发送到具有 CBS_DROPDOWNLIST 样式的组合框时,此消息无效。

Source

pub fn clear(&self)

应用程序将 WM_CLEAR 消息发送到编辑控件或组合框,以从编辑控件中删除 (清除) 当前选择(如果有)。 可以通过向编辑控件发送EM_UNDO消息来撤消WM_CLEAR消息执行的删除操作。 若要删除当前选定内容并将已删除的内容放在剪贴板上,请使用 WM_CUT 消息。 发送到组合框时, WM_CLEAR 消息由其编辑控件处理。 发送到具有 CBS_DROPDOWNLIST 样式的组合框时,此消息不起作用。

Source

pub fn undo(&self) -> bool

应用程序将 WM_UNDO 消息发送到编辑控件以撤消最后一个操作。 将此消息发送到编辑控件时,将还原以前删除的文本或删除以前添加的文本。 如果消息成功,则返回值为 true。如果消息失败,则返回值为 false。 Rich Edit: 建议使用 EM_UNDO 而不是 WM_UNDO。

Trait Implementations§

Source§

impl Debug for WindowControl

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Edit for WindowControl

Source§

fn get_line(&self, index: i32, len: u16) -> Option<String>

从编辑控件复制一行文本。 可以将此消息发送到编辑控件或富编辑控件。 富编辑控件: Microsoft Rich Edit 1.0 及更高版本中受支持。如果未复制文本,则消息会在缓冲区的开头放置一个 null 字符。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。 index 要从多行编辑控件检索的行的从零开始的索引。值为零指定最上面的行。 单行编辑控件会忽略此参数。 len 要获取的字符数。
Source§

fn line_length(&self, position: i32) -> usize

查询编辑控件中行的长度(以字符为单位)。 对于多行编辑控件,返回值是 position 参数指定的行的长度。 对于 ANSI 文本,这是字节数;对于 Unicode 文本,这是字符数。 不包括行末尾的回车符。 对于单行编辑控件,返回值是编辑控件中文本的长度。 使用 line_index 查询多行编辑控件中给定行号的字符索引。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。 position 行中要检索其长度的字符的字符索引。 如果此参数大于控件中的字符数,则返回值为零。此参数可以为 -1。 在这种情况下,消息返回包含选定字符的行上的未选定字符数。 例如,如果所选内容从下一行末尾的第四个字符扩展到第八个字符,则返回值为 10 (第一行的 3 个字符,下一行的) 7 个字符。
Source§

fn line_index(&self, line_index: i32) -> i32

获取多行编辑控件中指定行的第一个字符的字符索引。 字符索引是从编辑控件开头开始的字符的从零开始的索引。 可以将此消息发送到编辑控件或富编辑控件。 返回值是 line_index 参数中指定的行的字符索引;如果指定的行号大于编辑控件中的行数,则返回值为 -1。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。 line_index 从零开始的行号。 值 -1 (当前行号指定包含插入点) 的行。
Source§

fn replace_sel(&self, allow_undo: bool, text: &str)

将编辑控件或富编辑控件中的选定文本替换为指定的文本。 使用 replace_sel 仅替换编辑控件中文本的一部分。 若要替换所有文本,请使用 set_text。 如果没有选择,替换文本将插入插入点处。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件。 在丰富编辑控件中,替换文本采用插入点处的字符的格式,如果选定内容中第一个字符,则采用格式设置。 allow_undo 指定是否可以撤消替换操作。 如果为 true,则可以撤消该操作。 如果为 false ,则无法撤消操作。 text 要替换的文本。
Source§

fn set_readonly(&self, enable: bool) -> usize

设置或删除只读样式 (ES_READONLY 编辑控件的) 。 可以将此消息发送到编辑控件或富编辑控件。 如果操作成功,则返回值为非零值。如果操作失败,则返回值为零。 当编辑控件具有 ES_READONLY 样式时,用户无法更改编辑控件中的文本。 若要确定编辑控件是否具有 ES_READONLY 样式,请使用带有 GWL_STYLE 标志的 get_window_long 函数。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。 enable 指定是设置还是删除 ES_READONLY 样式。 值为 true 设置 ES_READONLY 样式;值为 false 会删除 ES_READONLY 样式。
Source§

fn get_text_range(&self, min: i32, max: i32) -> Option<String>

从丰富编辑控件中查询指定的字符范围。 min 最小索引。 max 最大索引。
Source§

fn can_undo(&self) -> bool

确定编辑控件的撤消队列中是否有任何操作。 可以将此消息发送到编辑控件或富编辑控件。 如果撤消队列不为空,可以将 EM_UNDO 消息发送到控件以撤消最近的操作。 编辑控件和 Rich Edit 1.0: 撤消队列仅包含最近的操作。 Rich Edit 2.0 及更高版本: 撤消队列可以包含多个操作。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件。
Source§

fn empty_undo_buffer(&self)

重置编辑控件的撤消标志。 每当可撤消编辑控件中的操作时,都会设置撤消标志。 可以将此消息发送到编辑控件或富编辑控件。 每当编辑控件收到 WM_SETTEXT 或 EM_SETHANDLE 消息时,撤消标志都会自动重置。 编辑控件和 Rich Edit 1.0: 控件只能撤消或重做最近的操作。 Rich Edit 2.0 及更高版本:EM_EMPTYUNDOBUFFER消息清空所有撤消和重做缓冲区。 丰富的编辑控件使用户能够撤消或重做多个操作。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件。
Source§

fn get_first_visible_line(&self) -> i32

获取多行编辑控件中最上面的可见行的从零开始的索引。 可以将此消息发送到编辑控件或富编辑控件。 返回值是多行编辑控件中最上面的可见行的从零开始的索引。 编辑控件: 对于单行编辑控件,返回值是第一个可见字符的从零开始的索引。 富编辑控件: 对于单行富编辑控件,返回值为零。 编辑控件中的行数和行长度取决于控件的宽度和当前 Wordwrap 设置。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。
Source§

fn get_line_count(&self) -> usize

获取多行编辑控件中的行数。 可以将此消息发送到编辑控件或富编辑控件。 返回值是一个整数,用于指定多行编辑控件或富编辑控件中的文本行总数。 如果控件没有文本,则返回值为 1。 返回值永远不会小于 1。 get_line_count查询文本行的总数,而不仅仅是当前可见的行数。 如果启用了 Wordwrap 功能,则当编辑窗口的尺寸发生更改时,行数可能会更改。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件。
Source§

fn get_modify(&self) -> bool

获取编辑控件的修改标志的状态。 标志指示是否已修改编辑控件的内容。 可以将此消息发送到编辑控件或富编辑控件。 创建控件时,系统会自动将修改标志清除为零。 如果用户更改控件的文本,系统将标志设置为非零。 可以将 EM_SETMODIFY 消息发送到编辑控件以设置或清除标志。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。
Source§

fn set_modify(&self, is_modified: bool)

设置或清除编辑控件的修改标志。 修改标志指示是否已修改编辑控件中的文本。 可以将此消息发送到编辑控件或富编辑控件。 创建控件时,系统会自动将修改标志清除为零。 如果用户更改控件的文本,系统将标志设置为非零。 get_modify查询标志的当前状态。 Rich Edit 1.0: 在没有 REO_DYNAMICSIZE 标志的情况下创建的对象会在修改标志设置为 FALSE 时锁定其盘区。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。 is_modified 修改标志的新值。 值为 true 表示文本已修改,值为 false 表示尚未修改。
Source§

fn get_rect(&self) -> RECT

获取编辑控件 的格式设置矩形 。 格式设置矩形是控件在其中绘制文本的限制矩形。 限制矩形与编辑控件窗口的大小无关。 可以将此消息发送到编辑控件或富编辑控件。 可以使用 set_rect 和 set_rect_np 来修改多行编辑控件的格式矩形。 在某些情况下, get_rect 可能不会返回 set_rect 或 set_rect_np 设置的确切值,该值大致正确,但可能会关闭几个像素。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 格式设置矩形不包括选择栏,这是每个段落左侧的未标记区域。 单击后,选择栏将选择行。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件。
Source§

fn get_sel(&self) -> (i32, i32)

获取编辑控件中当前所选内容的起始和结束字符位置。 可以将此消息发送到编辑控件或 Rich Edit 控件。 如果没有选择内容,则起始值和结束值都是插入点的位置。 Rich Edit 控件:还可以使用 get_sel_ex 来检索相同的信息。 get_sel_ex 还以 32 位值的形式返回起始字符和结束字符位置。 Rich Edit:在 Microsoft Rich Edit 1.0 及更高版本中受支持。 若要了解 Rich Edit 版本与各种系统版本的兼容性,请参阅关于 Rich Edit 控件。
Source§

fn get_sel_ex(&self) -> (i32, i32)

查询丰富编辑控件中所选内容的起始和结束字符位置。
Source§

fn set_sel(&self, start: i32, end: i32)

在编辑控件中选择一个字符范围。 可以将此消息发送到编辑控件或富编辑控件。 起始值可以大于结束值。 两个值的下半部分指定所选内容中第一个字符的字符位置。 较高的值指定所选内容之外的第一个字符的位置。 起始值是所选内容的定位点,结束值是活动结束。 如果用户使用 SHIFT 键调整所选内容的大小,活动端可以移动,但定位点保持不变。 如果开头为 0,结尾为 -1,则选择编辑控件中的所有文本。 如果开始为 -1,则取消选择任何当前选择。 编辑控件: 无论开始和结束的相对值如何,控件都会在结束位置显示闪烁的插入点。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件。 如果编辑控件具有 ES_NOHIDESEL 样式,则无论控件是否具有焦点,所选文本都会突出显示。 如果没有 ES_NOHIDESEL 样式,仅当编辑控件具有焦点时,才会突出显示所选文本。 start 所选内容的起始字符位置。 end 所选内容的结束字符位置。
Source§

fn set_sel_ex(&self, min: i32, max: i32) -> usize

选择一系列字符或组件对象模型 (COM) Microsoft Rich Edit 控件中的对象。 返回值是实际设置的选定内容。 min 最小索引。 max 最大索引。
Source§

fn get_sel_text(&self, len: usize) -> Option<String>

查询格式编辑控件中当前选择的文本。 len 要获取的字符数量。
Source§

fn line_from_char(&self, position: i32) -> i32

获取包含多行编辑控件中指定字符索引的行的索引。 字符索引是从编辑控件开头开始的字符的从零开始的索引。 可以将此消息发送到编辑控件或富编辑控件。 返回值是包含 position 指定的字符索引的行的从零开始的行号。 Rich Edit: 在 Microsoft Rich Edit 1.0 及更高版本中受支持。 如果字符索引大于 64,000,请使用 line_from_char_ex。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅 关于 Rich Edit 控件 。 position 要查询其编号的行中包含的字符的字符索引。 如果此参数为 -1, line_from_char 将查询当前行的行号 (包含脱字号) 或者,如果有选定内容,则查询包含所选内容的开头的行号。
Source§

fn line_from_char_ex(&self, position: i32) -> i32

确定哪个行包含 Rich Edit 控件中的指定字符。 此消息返回行的从零开始的索引。 position 字符的从零开始的索引。
Source§

fn scroll(&self, command: SCROLLBAR_COMMAND) -> isize

在多行编辑控件中垂直滚动文本。 此消息等效于将 WM_VSCROLL 消息发送到编辑控件。 可以将此消息发送到编辑控件或富编辑控件。 如果消息成功,则返回值的 HIWORD 为 TRUE, LOWORD 是命令滚动的行数。 如果滚动移动到文本的开头或末尾,返回的数字可能与滚动的实际行数不同。 如果 command 参数指定的值无效,则返回值为 false。 要滚动到特定行或字符位置,请使用 EM_LINESCROLL 消息。 要将插入点滚动到视图中,请使用 EM_SCROLLCARET 消息。 Rich Edit:在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关 Rich Edit 版本与各种系统版本的兼容性的信息,请参阅关于 Rich Edit 控件。 command 滚动条要执行的操作。 此参数的取值可为下列值之一。 Read more
Source§

fn line_scroll(&self, column: i32, line: i32) -> bool

滚动多行编辑控件中的文本。 如果消息发送到多行编辑控件,则返回值为 true。如果消息发送到单行编辑控件,则返回值为 false。 该控件不会垂直滚动到编辑控件中的最后一行文本。 如果当前行加上 line 参数指定的行数超过编辑控件中的总行数,则会调整该值,以便编辑控件的最后一行滚动到编辑控件窗口的顶部。 编辑控件:line_scroll在多行编辑控件中垂直或水平滚动文本。 line_scroll可用于水平滚动超过任何行的最后一个字符。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 line_scroll在多行编辑控件中垂直滚动文本。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件。 column 编辑控件: 要水平滚动的字符数。富编辑控件: 不使用此参数;它必须为零。 line 要垂直滚动的行数。
Source§

fn scroll_caret(&self)

将插入点滚动到编辑控件的视图中。 可以将此消息发送到编辑控件或富编辑控件。 富编辑: Microsoft Rich Edit 1.0 及更高版本中受支持。 有关丰富编辑版本与各种系统版本的兼容性的信息,请参阅 关于丰富编辑控件 。
Source§

fn can_paste(&self) -> bool

确定丰富的编辑控件是否可以粘贴。
Source§

fn char_from_pos(&self, x: i32, y: i32) -> i32

获取有关距离编辑控件客户区中指定点最近的字符的信息。 可以将此消息发送到编辑控件或富编辑控件。 富编辑控件:返回值指定了距指定点最近字符的从零开始的字符索引。 如果指定点超出控件中的最后一个字符,则返回值会指示编辑控件中的最后一个字符。 编辑控件:LOWORD 指定距指定点最近字符的从零开始的索引。 此索引相对于控件的开头,而不是行的开头。 如果指定点超出了编辑控件中的最后一个字符,则返回值将指示控件中的最后一个字符。 HIWORD 指定包含字符的行的从零开始的索引。 对于单行编辑控件,此值为零。 如果指定点超出行中的最后一个可见字符,则索引会指示行分隔符。 富编辑:在 Microsoft Rich Edit 1.0 及更高版本中受支持。 有关富编辑版本与各种系统版本兼容性的信息,请参阅关于富编辑控件。 如果某个点位于编辑控件边界之外,则 lResult 为 (65535, 65535)。 x 某个点的X坐标。 y 某个点的Y坐标。
Source§

fn pos_from_char(&self, char_index: i32) -> (i32, i32)

查询编辑控件中指定字符的坐标。 返回值是字符 (x, y) 的位置。对于单行编辑控件,y 坐标始终为零。 最后一个字符之外的任何索引都返回 –1。 如果字符已滚动到编辑控件的工作区之外,则返回的坐标可以为负数。坐标被截断为整数值。 如果 char_index 是行分隔符的索引,则返回的坐标位于行中最后一个可见字符刚好经过的位置。 如果 char_index 大于控件中最后一个字符的索引,则返回的坐标的位置刚好超过控件的最后一个字符。 char_index 指定字符的从零开始的索引。
Source§

fn selection_type(&self) -> RICH_EDIT_GET_CONTEXT_MENU_SEL_TYPE

确定 Rich Edit 控件的选择类型。 如果所选内容为空,则返回值SEL_EMPTY。 如果所选内容不为空,则返回值是一组包含以下一个或多个值的标志。 对于无底丰富编辑控件的父控件 ,此 消息在WM_SIZE处理期间非常有用。 Read more
Source§

fn hide_selection(&self, hide: bool)

隐藏或显示富编辑控件中的选定内容。 hide 是否隐藏。
Source§

fn find_text( &self, flags: FINDREPLACE_FLAGS, text: &str, min: i32, max: i32, ) -> i32

在 Rich Edit 控件中查找文本。 如果找到目标字符串,则返回值为匹配的第一个字符的从零开始的位置。 如果未找到目标,则返回值为 -1。 向后搜索时, min 必须等于或大于 max 。 向前搜索时, max 中的值 -1 会将搜索范围扩展到文本的末尾。 flags 指定搜索操作的参数。 此参数可使用以下一个或多个值。 Read more
Source§

fn find_text_ex( &self, flags: FINDREPLACE_FLAGS, text: &str, min: i32, max: i32, ) -> (i32, i32)

查找格式编辑控件中的文本。 flags 指定搜索操作的行为。 此参数可使用以下一个或多个值。 Read more
Source§

fn get_margins(&self) -> i32

获取编辑控件的左边距和右边距的宽度。 返回 LOWORD 中左边距的宽度,以及 HIWORD 中右边距的宽度。 Rich Edit: 不支持 EM_GETMARGINS 消息。
Source§

fn set_margins(&self, margin: u32, value: i32)

设置编辑控件的左边距和右边距的宽度。该消息将重新绘制控件以反映新的边距。 margin 指定要设置的边距。下表显示了可以组合的可能值。 Read more
Source§

impl From<HWND> for WindowControl

Source§

fn from(value: HWND) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.