首页 > 解决方案 > 在 Windows RichEdit20W 控件中选择单词的规则

问题描述

在 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

first_second当我像在 Rich Edit 控件中那样双击一个字符串时,我只选择了 之前的第一部分_或之后的第二部分,_或者只是_,这取决于我双击的位置。

在下面的屏幕截图中,我只是双击了second.

在此处输入图像描述

我想改变这种行为,_不应该被视为一个破坏性的角色。

我怎样才能做到这一点?

ECO_AUTOWORDSELECTIONCRichEditCtrl::SetOptions找到了,但它没有解释打破规则这个词......

标签: mfcrichedit-control

解决方案


您应该使用EM_SETWORDBREAKPROCEX

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

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

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


推荐阅读