|
|
|
Перерисовка отдельных айтемов в TListBox
|
|||
|---|---|---|---|
|
#18+
Имею листбокс с кастомной отрисовкой айтемов. Приходит из потока событие, нужно перерисовать один из айтемов. Кидаю запрос на перисовку айтема так. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Сегодня в рамках (очередного) поиска узких мест обнаружил, что запрос кидается на перерисовку одного айтема, а перерисовываются ВСЕ. А учитывая не самую легкую отрисовку и много айтемов - получаются знатные тормоза. Вот лог для трех айтемов в списке: UpdateCharItemInList, index 2 CharListBoxDrawItem, index 0 CharListBoxDrawItem, index 1 CharListBoxDrawItem, index 2 UpdateCharItemInList, index 2 CharListBoxDrawItem, index 0 CharListBoxDrawItem, index 1 CharListBoxDrawItem, index 2 UpdateCharItemInList, index 2 CharListBoxDrawItem, index 0 CharListBoxDrawItem, index 1 CharListBoxDrawItem, index 2 Подскажите, как делать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 14:42:42 |
|
||
|
Перерисовка отдельных айтемов в TListBox
|
|||
|---|---|---|---|
|
#18+
Двойная буферизация включена? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 14:57:14 |
|
||
|
Перерисовка отдельных айтемов в TListBox
|
|||
|---|---|---|---|
|
#18+
DoubleBuffered = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2017, 15:01:10 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=126&tid=2041573]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 296ms |

| 0 / 0 |
