MFC是否有单词自动完成功能?

时间:2019-07-16 07:05:50

标签: autocomplete mfc

我正在为键入CRichEditCtrl的单词寻找自动完成功能。我确实看到了IAutoCompleteIAutoComplete2,但是我不知道它是否可以完成我想要的工作,这与IAutoComplete非常相似,只是用了单词。

例如如果自动完成控件知道要完成以下单词:

FINE, FOX, THE, THIS

,然后我开始在空控件中键入字母 T ,它将显示 T HE ,其中 HE 代表所选文本。下拉菜单还将显示单词 THE THIS 。然后按向右箭头会取消选择 HE ,并在编辑控件中给我 THE

如果我再按 space ,然后按字母 F O X ,则我将< em> THE FOX (自动补全和建议也会在此处发生,但为简单起见,我跳过了)。

到目前为止,这就像IAutoComplete一样,但是现在我使用箭头键将其定位在两个单词之间的空格上,然后按 space ,然后按字母 F 。我想让编辑框显示 THE F INE FOX ,并显示一个下拉菜单,显示建议 FINE FOX 在下面。

基于我对这些COM对象的有限了解,这似乎超出了他们的能力范围。如果我错了,我该怎么做?如果我是对的,是否已经可以使用其他自动完成对象?如果可以避免的话,我想避免自己动手。

我看到的唯一与我的问题类似的东西是MFC CEdit control autocomplete,但从未得到回答。

编辑

我确实考虑过要有一个隐藏的Edit控件,该控件将附加到我可以从Rich Edit控件的EN_CHANGE ON_COMMAND处理程序中填充的自动完成控件中,但是我无法强制执行在隐藏的控件中显示下拉菜单或使自动完成功能发生(在测试过程中未隐藏)。也许有办法迫使这些事件发生?

0 个答案:

没有答案