在 Windows RichEdit20W 控件中选择单词的规则
Rules for selecting a word in a Windows RichEdit20W 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
中的一个字符。
我想更改此行为并且 _
不应被视为中断字符。
我该怎么做?
我在 CRichEditCtrl::SetOptions 找到了 ECO_AUTOWORDSELECTION
但它没有解释断字规则...
你应该使用 EM_SETWORDBREAKPROCEX.
使用您自己的 EditWordBreakProcEx 应该可以定义您自己的规则。
标志ECO_AUTOWORDSELECTION
只是设置了双击选中单词的特性。
我不确定这是否也适用于这种情况,但阅读 this 缝隙以指向我的假定答案。
在 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
中的一个字符。
我想更改此行为并且 _
不应被视为中断字符。
我该怎么做?
我在 CRichEditCtrl::SetOptions 找到了 ECO_AUTOWORDSELECTION
但它没有解释断字规则...
你应该使用 EM_SETWORDBREAKPROCEX.
使用您自己的 EditWordBreakProcEx 应该可以定义您自己的规则。
标志ECO_AUTOWORDSELECTION
只是设置了双击选中单词的特性。
我不确定这是否也适用于这种情况,但阅读 this 缝隙以指向我的假定答案。