小编Ste*_*est的帖子

Delphi将项目添加到ComboBox速度

我有一个相当复杂和庞大的应用程序,负载和数据负载.是否有一种快速的方法来向ComboBox添加不需要这么长时间的项目?在我的P3 3.2ghz上,以下片段只需不到一秒钟即可添加大约32,000个项目.(MasterCIList是一个StringList,字符串通常为20-30个字节长).

with LookupComboBox do
 begin
  Items.BeginUpdate;
  Items.Clear;
  for i := 0 to MasterCIList.Count - 1 do
   Items.Add(MasterCIList[i]);
  Items.EndUpdate;
 end;
Run Code Online (Sandbox Code Playgroud)

钻进VCL,似乎在TComboBoxStrings.Add,有一个电话

Result := SendMessage(ComboBox.Handle, CB_ADDSTRING, 0, Longint(PChar(S)));
Run Code Online (Sandbox Code Playgroud)

我猜这真的占用了时间(好吧,我知道它是).是否有另一种方法来填充更快速的项目?有没有高速组合盒?我有TMS组件,但它们似乎是TComboBox的扩展.

例如,我有PlusMemo似乎是对TMemo的完全重写.我可以在一秒钟内轻松地向PlusMemo添加一百万行.一个TMemo,我不这么认为.

非常感谢您的参与!

delphi performance combobox

8
推荐指数
2
解决办法
3万
查看次数

标签 统计

combobox ×1

delphi ×1

performance ×1