读书人

CComboBox具有挑战的有关问题:下拉时

发布时间: 2012-01-31 21:28:41 作者: rapoo

CComboBox具有挑战的问题:下拉时高亮选中的并不是正确的项
CComboBox的sort属性为false,其他的都为默认值,CComboBox中有如下2条数据:
abcdef
abc

一开始我选择第2条,使当前文本为abc
然后,我下拉CComboBox时,列表中选中的不是第2条(abc),而是第一条(abcdef).
CComboBox再下拉时,总是高亮选中第一条含有当前string的项,而不是精确等于当前string的那一项。

各位高手,有什么办法可以让CComboBox在下拉时选中精确等于当前文本的办法么?
分不够可以再加

另外,我创建一个继承CComboBox的类,改写OnDropdown,在其中通过SetCurSel来选中我指定的项时也不行,比如上例,我调用SetCurSel(1),CComboBox选中的还是第一条。

[解决办法]
实在不行就hooking listbox
(i.e, subclassing listbox)

MyCombobox::OnCtlColor(...)
{
if (nCtlColor == CTLCOLOR_LISTBOX)
listbox = hwnd;
SetWindowLong(listbox, GWL_WNDPROC, MyWndProc);
}
[解决办法]
是不是有其他代码影响到这种情况,一个单纯的combobox不排序不会出现这种情况的
[解决办法]
Type选择性Drop List就可以了`~~~这样就不会出现那样的情况
[解决办法]
我这边VC6.0 type选成Drop List行了...
楼主的编译器是不是VC6.0?
[解决办法]
用自绘,让得到焦点的项选中,我成功运用过
[解决办法]

探讨
我用的是vs 2005

[解决办法]
楼主没搞错吧?combox的sort函数和你说的高亮选中没有关系的。

我刚测试过,也是用的VS2005,没有出现你所说的问题啊


读书人网 >VC/MFC

热点推荐