首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

组合框重载WM_DRAWITEM中的有关问题

2013-12-13 
组合框重载WM_DRAWITEM中的问题问题现像:在AddString后再SetCurSel为大于0的项. (索引正确无误).再下拉显

组合框重载WM_DRAWITEM中的问题
问题现像:
在AddString后再SetCurSel为大于0的项. (索引正确无误).
再下拉显示全部项, 第一次正常.
然后再执行一次AddString,再SetCurSel为大于0的项.
再下拉显示全部项, 就不正常了,DrawItem中索引从1开始了.

也就是说第二次添加并选中后, 再下拉时, 本来下拉都应该从0开始重新绘制的, 但结果却没有, 从索引为1开始绘制了.

重载中未重写AddString,和SetCurSel, 也未对这两个函数相关的消息进行任何其它处理,都使用组合框类自己的.


不知道问题何在, 请大家帮忙分析分析. 只分析可能出错的可能性, 不用看源码.

谢谢大家.
[解决办法]
有没有滚动条 ?
[解决办法]

引用:
也就是说第二次添加并选中后, 再下拉时, 本来下拉都应该从0开始重新绘制的, 但结果却没有, 从索引为1开始绘制了

你是如何得出这个结论的?
1.在DrawItem设断点一直查看lpStruct->itemID
2.从运行结果中看出从第二项开始绘制

如果是1,似乎不太准确,因为程序的绘制可能不是有序的;如果是2,可能是你对lpStruct->itemID做了什么运算

热点排行