我目前正在使用Embarcadero C++上的TListView,可能有數千個項目的對象。 我想設置一個CTRL + A功能,以便一次選擇所有的項目。然而,我使用myListView-> SelectAll()來管理它,它會爲每個項目(!!!)啓動一個OnSelectItem事件,這可能需要很長時間。 我嘗試了BeginUpdate/EndUpdate,Enabled = false,根本沒有結果 - 即爲每個項目觸發OnSelectItem。 即使我設置了一個變量來實現從OnSelectItem事件立即返回,它需要太多的時間。如何避免TListView觸發OnSelectItem事件(C++ Embarcadero)
是否有一個簡單的解決方案來避免在調用SelectAll()時觸發數千個事件?
感謝您的任何幫助。
請嘗試註釋掉你OnSelectItem()身體檢查,如果它仍然需要一個不可接受的時間 – Roberto
那麼做呢?我將再次需要一些其他功能的OnSelectItem ...好吧,我會嘗試... –
好吧,我試過了。我們從18秒(對OnSelectItem進行處理,測試一個布爾值並返回)到6秒(沒有OnSelectItem處理),計算38k個項目。 –