現在、数千ものアイテムが潜在的に存在する可能性があるオブジェクトを使用して、Embarcadero C++でTListViewを使用しています。 CTRL + A機能を設定して、すべての項目を一度に選択できるようにします。しかし、myListView-> SelectAll();を使用すると、各項目(!!!)のOnSelectItemイベントが発生し、膨大な時間がかかります。 私はBeginUpdate/EndUpdate、Enabled = falseを試しました。結果はまったくありません。つまり、各項目に対してOnSelectItemがトリガーされました。 OnSelectItemイベントからすぐに戻るように変数を設定しても、時間がかかりすぎます。 SelectAll()が呼び出されたときTListViewがOnSelectItemイベントを発生させないようにする方法(C++ Embarcadero)
イベントの何千ものを避けるために簡単な解決策はありますがトリガー?ヘルプのあらゆる種類の
感謝。
あなたのOnSelectItem()本体をコメントアウトし、依然として容認できない時間がかかるかどうかチェックしてください。 – Roberto
だから何ですか?私はいくつかの他の機能のためにOnSelectItemをもう一度必要とします... Ok、私は試してみます... –
Ok、私は試しました。 38K個のアイテム数に対して、18秒(OnSelectItemが処理され、1つのブール値がテストされてから返されます)から6秒(OnSelectItemは処理されません)になります。 –