0

ボタンをクリックして項目をリスト コントロールに追加している間、アプリがフリーズします。私はそれを簡単にしています:

for (unsigned i = 1; i < 15000;++i)
{
  listcontrol1.InsertItem(i, L"item list");
}

バックグラウンド スレッドも使用してみましたが、結果は同じでした。ユーザーインターフェイスをブロックせずにこれを正しく行う方法はありますか?

4

2 に答える 2

1

Sheng Jiang が述べたように、仮想リストは、このような優れたリストの最適なソリューションです。ただし、挿入中のコントロール ペインティングを回避してパフォーマンスを向上させることができます。

listcontrol1.SetRedraw(FALSE);
for (unsigned i = 1; i < 15000; ++i)
{
    listcontrol1.InsertItem(i, L"item list");
}
listcontrol1.SetRedraw(TRUE);
于 2014-10-14T14:27:56.340 に答える