来自editwordbreakproca回调函数的文档:
参数
code
类型: int
回调功能要采取的操作。此参数可以是以下值之一。
wb_classify
在指定位置检索字符的字符类和单词断路标志。此值可用于丰富的编辑控件。
返回值
类型: int
...如果 code 参数指定 wb_classify ,返回值是指定位置处的字符类和字符的字符break标志。...  
来自em_findword break的文档:
参数
wparam
指定查找操作。此参数可以是以下值之一。
wb_classify
在指定位置返回字符的字符类和文字断开标志。
返回值
该消息基于 wparam 参数返回值。
wb_classify
在指定位置返回字符的字符类和文字断开标志。
我的问题是,在这种情况下,角色类是什么?有效的值是什么?标志的值是什么?我在任何地方都找不到有关此信息的任何信息。
msdn说:
富含编辑控件的文字破坏过程也组为字符类中,每个字符由0x00至0x0f范围内的值识别。断裂发生在定义者之后或之间不同类的字符之间。因此,一个单词断开的过程,具有不同类的字母数字和标点字符,会在字符串" win.doc"中找到两个单词中断。(该期间之前和之后(。
角色的类可以与零或多个单词break标志结合在一起,形成8位值。在执行Word包装操作时,富的编辑控件会使用Word-Break Flags确定可以破坏线路的位置。Rich Edit使用以下单词break标志
WBF_BREAKAFTER
线可能会在字符之后断开。WBF_BREAKLINE
字符是定界符。定界符标记单词的末端。分界符后可能会断裂线。WBF_ISWHITE
字符是一个白色空间字符。包装时,尾随的白空间字符不包含在行的长度中。
WBF_BREAKAFTER
值用于允许在不标记单词结束的字符之后包装,例如连字符。
这不是超级有帮助的。您也许可以发明自己的班级枚举,但我建议使用GetStringTypeW
。
我已经看过.NET示例代码调用Char.GetUnicodeCategory
,但在我看来,这将返回已记录的范围之外的值。
显然,我只是盲目。页面底部有一个链接:
em_findword breaks消息
...
备注
如果wparam是wb_left和wb_right,则单词break步骤只能在定界者之后找到单词。这匹配编辑控件的功能。如果wparam是wb_movewordleft或wb_movewordright,则单词break步骤还比较字符类和文字折线标志。
有关字符类和文字断路标志的信息,请参阅单词和线路断开。
您可以看到,在最后一行中,有一个指向另一页的信息的链接,然后向另一个页面说:
如何使用单词和线路断开信息
指令
使用Word和Line Breaw信息
...
丰富的编辑控件的单词破坏过程还将字符分组为字符类,每个字符由0x00至0x0f范围内的值识别。断裂发生在定义者之后或之间不同类的字符之间。因此,一个具有不同类别的字母数字和标点字符类别的单词折断过程会在字符串" win.doc"中找到两个单词中断(该期间之前和之后(。
角色的类可以与零或多个单词break标志结合在一起,形成8位值。在执行Word包装操作时,富的编辑控件会使用Word-Break Flags确定可以破坏线路的位置。Rich Edit使用以下文字断路标志。
标志说明角色之后可能会损坏WBF_ Breakafter线路。wbf_breakline角色是一个定界符。定界符标记末端 单词。定义者后可能会断裂线。wbf_iswhite角色是一个白色空间角色。尾随 长度不包含白色空间字符 包装时的线。wbf_breakafter值用于允许在不标记单词结束的字符之后包装,例如连字符。
是由于第二层的间接级别,我没有立即看到它。