mfc - 在 Windows RichEdit20W 控件中选择单词的规则

标签 mfc richedit-control

在 MFC 应用程序中,我有一个包含以下内容的 .rc 文件:

IDD_PROP_TEXT DIALOGEX 0, 0, 210, 164
STYLE DS_SETFONT | WS_CHILD
FONT 8, "MS Sans Serif", 400, 0, 0x0
BEGIN
    CONTROL         "",IDC_EDIT,"RichEdit20W",ES_MULTILINE | ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL | WS_TABSTOP,1,3,207,158
END

当我在 Rich Edit 控件中双击类似 first_second 的字符串时,我只会选择 _ 之前的第一部分或 之后的第二部分_ 或只是 _,具体取决于我双击的位置。

在下面的屏幕截图中,我只是在 second 中双击了一个字符。

enter image description here

我想改变这种行为,_ 不应被视为中断字符。

我该怎么做?

我在 CRichEditCtrl::SetOptions 找到了 ECO_AUTOWORDSELECTION但它没有解释单词破坏规则......

最佳答案

你应该使用 EM_SETWORDBREAKPROCEX .

用你自己的EditWordBreakProcEx应该可以定义自己的规则。

标志 ECO_AUTOWORDSELECTION 只是设置双击选择单词的功能。

我不确定这是否也适用于这种情况,但阅读 this接缝指向我假定的答案。

关于mfc - 在 Windows RichEdit20W 控件中选择单词的规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51438312/

相关文章:

devexpress - 如何以编程方式合并 DevExpress RichEditControl 中的数据?

c++ - 如何自动向下滚动 richedit 文本框 win32 c/c++

c++ - 为什么调用 CDialog::OnShowWindow 会挂起我的应用程序?

c++ - 收到的套接字客户端-服务器字符串是中文字符

c++ - 在丰富的编辑文本控件中检测换行符

textbox - 将 Grid 的垂直滚动位置与 RichEditBox 或 TextBox 匹配

c++ - 关于从基类到子类指针的向下转型

c++ - 使用 MFC 在 COleControl 中实现自定义接口(interface)

c++ - MFC/Sql 相同情况下的不同异常