【问题标题】:C++ MFC AutoComplete ComboBoxC++ MFC 自动完成组合框
【发布时间】:2021-12-07 08:01:58
【问题描述】:

是否有 MFC ComboBox 的自动完成功能? 当用户输入字符时,匹配字符串列表出现在下拉组合框中。像这样的东西。我只是不想重新发明轮子。

这个组合框是CMFCPropertyGridProperty。也许它不完全是自动完成,而是搜索

【问题讨论】:

  • 这是对话框中的组合框,还是CMFCPropertyGridProperty?一种可能的解决方案可能不适用于另一种。
  • 您可以将自动完成添加到任何编辑控件,以防万一这是最终目标。 Providing a custom autocomplete source for an edit control 说明了基本原理。 IAutoComplete2::SetOptions 提供广泛的自定义选项。
  • 我认为您描述的是过滤,而不是自动完成。你想要什么行为?
  • 这个组合框是 CMFCPropertyGridProperty。也许不是自动完成,而是搜索。
  • 我之前问过这个问题。我认为你必须推出自己的定制。

标签: c++ combobox autocomplete mfc


【解决方案1】:

您可以查看以下链接。它可以为您提供解决方案。

基本思路是每次编辑框中的文字发生变化, 检查下拉列表中是否有任何文本 以此编辑框文本为前缀。处理CBN_EDITUPDATE 消息到 获取文本更改通知,并使用GetWindowText() 获取 文本。 CComboBox::SelectString 将在列表中查找一个字符串 以给定字符串为前缀,并在编辑框中选择它。

https://www.codeproject.com/Articles/783/Implementing-an-autocompleting-Combobox

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
  • 那个链接的文章没有按照要求做。很明显,发帖人希望下拉数据列表只包含那些以他们输入的文本开头的数据。
猜你喜欢
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多