Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.15.143.207] |
|
Сообщ.
#1
,
|
|
|
11 тыс элементов удалются чуть не минуту. Пишу на мфц но компонент это стандартный виндовый, и мфц ничего такого не добавляет (просто шлет мессагу)
Что делать ? |
Сообщ.
#2
,
|
|
|
Попробуй отправить сообщение WM_SETREDRAW, запретишь перерисовку окна потом сотрешь все элементы и этой же мессагой разрешишь перерисовку.
|
Сообщ.
#3
,
|
|
|
Цитата DmitryR, 26.02.02, 11:34:13 11 тыс элементов удалются чуть не минуту. Пишу на мфц но компонент это стандартный виндовый, и мфц ничего такого не добавляет (просто шлет мессагу) Что делать ? В принципе, ничего не делать, потому что скорость удаления (11 тыс. элементов ???) упирается в быстродействие Windows. Если я ничего не путаю, то функция DeleteAllItems() в MFC устроена в виде цикла типа while (т.е пока что-то есть его надо удалить [сообщением DeleteItem]). А прохождение 11 ТЫСЯЧ сообщений занимает определенное время. Единственное, что я могу посоветовать, так это избавиться от каркаса MFC для обработки этого сообщения (поскольку обработка 11 ТЫСЯЧ вызовов функции DeleteItem опять-таки занимает какое-то время и писать отправку сообщения функцией ::SendMessage (стандартной, а не MFC-шной) в цикле... |
Сообщ.
#4
,
|
|
|
Что-то вы пургу гоните, товарищи!
Цитата LVM_DELETEALLITEMS Removes all items from a list-view control. You can send this message explicitly or by using the ListView_DeleteAllItems macro. LVM_DELETEALLITEMS wParam = 0; lParam = 0; Return Values Returns TRUE if successful, or FALSE otherwise. Remarks When a list-view control receives the LVM_DELETEALLITEMS message, it sends the LVN_DELETEALLITEMS notification message to its parent window. Requirements Windows NT/2000: Requires Windows NT 3.51 or later Windows 95/98/Me: Requires Windows 95 or later Header: Declared in commctrl.h. |
Сообщ.
#5
,
|
|
|
2 CodeMaster & Dmitry
Sorry :o Действительно, это одно сообщение... Значит Windows глючат сами по себе. |