我有一个对话框,里面有几个大的组合框(每个可能有几百个).在建造这些建筑物的过程中有明显的延迟(通过剖析确认它们是正确的).
我最初的想法是排序正在扼杀它的性能,但是禁用排序并使用InsertString似乎并没有让事情变得更好.我没想到这似乎是一个过多的项目 - 我还应该做些什么还是在这里考虑?
MFC调用是Win32消息调用的简单包装器,所以我认为没有任何显着的开销.
DUPLICATE 如何尽可能快地将大量字符串加载到MFC组合框控件中?
您应该在添加时使用CWnd :: SetRedraw,以防止控件在每次添加后更新其所有内部状态.
如果你还没有这样做,那么这样做:
combo.SetRedraw(FALSE); ... All the adds combo.SetRedraw(TRUE); combo.Invalidate();
您还应该考虑使用CComboBox :: InitStorage函数,该函数为组合框预分配内存.