Правила выбора слова в элементе управления 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_AUTOWORDSELECTION в CRichEditCtrl::SetOptions, но это не объясняет правила нарушения слов...

1 ответ

Решение

Вы должны использовать EM_SETWORDBREAKPROCEX.

С вашим собственным EditWordBreakProcEx должно быть возможно определить ваши собственные правила.

Флаг ECO_AUTOWORDSELECTION просто устанавливает функцию, при которой двойной щелчок выбирает слово.

Я не уверен, что это относится и к этому случаю, но читая этот шов, чтобы указать на мой предполагаемый ответ.

Другие вопросы по тегам