如何禁用CComboBox,同时让它可用于剪贴板复制?
所以首先,我有一个CComboxBox,只能通过GetDlgItem(cbID)获取。这种情况不能改变。如何禁用CComboBox,同时让它可用于剪贴板复制?
使用此组合框,我可以编辑文本并显示下拉项目,但我想禁用这些功能。
我只知道如何禁用Windows对象,例如...
函数GetDlgItem(CBID) - > EnableWindow(FALSE);
但是,这将禁用鼠标和键盘输入,这不允许我突出显示文本并将其复制到剪贴板。
如何禁用一个下拉菜单和可编辑功能,同时让它可以高亮复制到剪贴板?
组合框样式可能是CBS_DROPDOWN。如果将样式卡住到CBS_DROPDOWNLIST,您将删除嵌入在组合框中的子编辑控件。这将阻止任何人输入数据。
谢谢,这是禁用键盘输入的好主意,但我也不想拥有下拉功能,该功能仍然存在。 – Vongdarakia
有几种方法来处理这件作品。您可以设置[CBN_DROPDOWN](http://forums.codeguru.com/showthread.php?444622-How-to-prevent-combo-box-list-appear-when-catching-the-CBN_DROPDOWN-msg&p=1677568#post1677568 )或控件上的按钮事件。如果您决定使用后者,请确保不要调用基类。这应该会缩短通话时间以降低列表的数量。 – rrirower
我想我明白了。谢谢一堆!这有帮助! – Vongdarakia
使用GetDlgItem()时要小心。它返回一个不应该存储的临时指针。 – rrirower