【发布时间】:2012-08-12 18:56:21
【问题描述】:
我正在尝试为 Windows 8 实现自己的拼写检查提供程序。我有一个接收单词并返回正确单词的类,但是,我在 Microsoft 的 Spell Checking Provider Sample 中找不到类或函数接收用户输入字符串并为其返回更正。
【问题讨论】:
标签: c++ windows windows-8 spell-checking provider
我正在尝试为 Windows 8 实现自己的拼写检查提供程序。我有一个接收单词并返回正确单词的类,但是,我在 Microsoft 的 Spell Checking Provider Sample 中找不到类或函数接收用户输入字符串并为其返回更正。
【问题讨论】:
标签: c++ windows windows-8 spell-checking provider
由于您正在实现拼写检查提供程序,因此您将实现ISpellCheckProvider 接口。 (在您参考的示例中,这是由 SampleSpellCheckProvider 类实现的)
拼写检查实际上有两个阶段。第一个是检查某些文本是否包含任何错误,第二个是提供建议。
第一阶段发生在对Check 的调用中。在此为您提供要检查的文本,并返回一个实现IEnumSpellingError 的类,该类应缓存文本并返回它在对Next 的调用中发现的任何错误。 (您可以在示例的 EnumSpellingError 类中找到 IEnumSpellingError 的实现。在示例中,它最终在提供程序(内部方法)上调用 EngineCheck,该提供程序在 SampleEngine 上调用 FindFirstError - 实际检查并建议被隔离到 SampleEngine .h 文件,而其他人专注于基础架构)
第二阶段发生在对Suggest 的调用中。在此,您会得到一个单词并将建议集作为实现 IEnumString 的类返回。
【讨论】: