在 Windows 10 中,使用 Ctrl+箭头 或 Ctrl+Shift+箭头选择/移动文本的停止字符在哪里定义?

在 Windows 10 中,使用 Ctrl+箭头 或 Ctrl+Shift+箭头选择/移动文本的停止字符在哪里定义?

Windows(可能还有大多数其他操作系统)有一个很好的功能,可以让你更有效地移动和选择文本。当使用Ctrl(+ Shift]) + 左/右箭头时,你可以跳转或选择文本块(由空格、破折号和其他符号分隔)。我的问题是,我通常希望此行为能够识别更广泛的字符列表(例如下划线_)并停止。

此行为是 Windows 内置的吗?它可以被整个系统或应用程序开发人员覆盖吗?

答案1

我们可以对这个字符串进行实验(将其粘贴到记事本或其他地方):

a!b@c#d$e%f^g&h*i(j)k-l=m_n+o{p}q[r]s|t\u`v~w/x<y>z?0.1;2'3:4"5

我发现!$%(-、、、、和都对换行或字符聚类有一定影响。奇怪的是,似乎有多种影响类型 - 它们在是否可以换行以及 Control+Arrow 是否在之前或之后停止+方面有所不同。(省略并非偶然。左括号有特殊属性,但右括号则不然。){}[|\?]

Windows 中的每个编辑控件都有一个断词程序.该程序负责:

  • 确定给定字符的自动换行行为
  • 确定字符是否为分隔符
  • 查找相对于当前位置的下一个/上一个单词/词簇的开头

大多数应用程序使用 Windows 默认的断字程序,据我所知,它是不可配置的。可以使用EM_SETWORDBREAKPROC窗口消息。通常,这将由拥有控件的应用程序完成,因为过程的地址仅在该进程内才保证有效。从编程角度来说,您可能能够在目标应用程序的进程内创建一个线程,在目标控件上设置自定义中断过程,但似乎没有更简单的方法。

相关内容