【问题标题】:How do I disable a CComboBox while having it selectable for clipboard copy?如何禁用 CComboBox,同时可选择剪贴板复制?
【发布时间】:2014-02-14 08:35:30
【问题描述】:

首先,我有一个只能通过GetDlgItem(cbID) 获得的CComboxBox。这个条件是不能改变的。

使用此组合框,我可以编辑文本并显示下拉项目,但我想禁用这些功能。

我只知道如何禁用 Windows 对象,例如...

GetDlgItem(cbID)->EnableWindow(FALSE);

但这会禁用鼠标和键盘输入,这不允许我突出显示文本并将其复制到剪贴板。

如何禁用下拉和可编辑功能,同时使其可突出显示以复制到剪贴板?

【问题讨论】:

  • 使用GetDlgItem()时要小心。它返回一个不应存储的临时指针。

标签: c++ mfc selectable disabled-input ccombobox


【解决方案1】:

组合框样式可能是 CBS_DROPDOWN。如果您将样式更改为 CBS_DROPDOWNLIST,您将删除嵌入在组合框中的子编辑控件。这将阻止任何人输入数据。

【讨论】:

  • 谢谢,禁用键盘输入是个好主意,但我也不希望下拉功能仍然存在。
  • 有几种方法可以处理该部分。您可以捕获CBN_DROPDOWN,或者控件上的按钮按下事件。如果您决定使用后者,请确保不要调用基类。这应该会缩短下拉列表的调用。
  • 我想我明白了。非常感谢!这有帮助!
猜你喜欢
  • 2013-06-12
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-18
  • 1970-01-01
相关资源
最近更新 更多