Dan*_*rić 17 delphi combobox autocomplete
每个人都可能知道我的意思,但澄清控制需要:
那么,是否有这样的Delphi编辑/组合控件?
Rob*_*edy 24
使用内置于所有Windows编辑控件的自动完成功能.
首先,根据需要填充TStrings对象.然后GetOleStrings用来创建一个TStringsAdapter包装它.(适配器不声明TStrings对象的所有权,因此您必须确保在适配器仍然存在时不要销毁它.)适配器为您提供了一个IStrings接口,您需要该接口,因为自动完成功能需要一个IEnumString接口提供完成比赛.呼唤_NewEnum那个.
接下来,调用CoCreateInstance创建一个IAutoComplete对象.调用其Init方法将其与编辑控件的窗口句柄相关联.如果您正在使用组合框,则向其发送cbem_GetEditControl消息以查找基础编辑窗口.
您可以在此时停止,自动完成应该自动完成.您可以根据需要禁用自动完成功能,也可以设置任意数量的自动完成选项.
你说你不想要自动完成,但在操作系统术语中,我认为你真正不想要的是自动追加,其中字符串的其余部分会在用户输入时自动输入编辑框,但是选择了进一步输入将覆盖它,如果所需的值短于其中一个匹配项,则用户需要删除多余的文本.
还有自动建议,显示建议的下拉列表.
您可以启用其中一个或两个选项.您不需要自己过滤建议列表; 自动完成对象IEnumString自行过滤列表.
| 归档时间: |
|
| 查看次数: |
10916 次 |
| 最近记录: |