|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 15, 2004 03:05:26 Иногда в "SysListView32" много строк, и имеет смысл вставлять иконки только для видимой (в данный момент) части листа (через сообщение LVN_GETDISPINFO). Но как сделать так чтобы начало показывались строки а потом (когда все видимые строки появились) вставить иконки. |
|
|
Дата: Авг 15, 2004 13:05:46 _evil имеет смысл вставлять иконки только для видимой (в данный момент) части говорит о том, что LVS_OWNERDATA не установлен. Если это так, то LVN_GETDISPINFO не придёт. Установи LVS_OWNERDATA и заблокируй обработку запроса с маской LVIF_IMAGE до прихода и обработки запросов с маской LVIF_TEXT для всех видимых итемов (и субитемов). |
|
|
Дата: Авг 15, 2004 21:03:04 ещё один вопрос, пожалуйста – SHGetFileInfo даёт индекс иконки (из SYS – листа ) но очень медленно а Internet Explorer(проводник) быстрее каким макаром ? |
|
|
Дата: Авг 15, 2004 21:24:55 Что за прикол делаю "SysListView32" с флагом LVS_OWNERDATA всё виснет . Хотя без него контрол шлет родителю LVN_GETDISPINFO через WM_NOTIFY и если его обработать то он нормально вставляет (LVN_GETDISPINFO pnmv = (LV_DISPINFO FAR *) lParam;) “заблокируй обработку запроса с маской LVIF_IMAGE” – можно по подробней |
|
|
Дата: Авг 15, 2004 22:23:15 Хотя без него контрол шлет родителю LVN_GETDISPINFO через WM_NOTIFY Странно как-то, у меня не шлёт LVN_GETDISPINFO без LVS_OWNERDATA. Насколько я понимаю, LVN_GETDISPINFO посылается только virtual listview, хотя может я и ошибаюсь. “заблокируй обработку запроса с маской LVIF_IMAGE” – можно по подробней Предполагалось, что у тебя virtual listview, и от него можно было получить через сообщение LVN_ODCACHEHINT номера, которые будут перерисовываться (с какого по какой итем), запоминать эти два номера (в структуре NMLVCACHEHINT - iFrom и iTo) и пока для итемов с номерами от iFrom до iTo не пройдут запросы текста (LVIF_TEXT) через LVN_GETDISPINFO и не заполнены для них .item.pszText, обработку запроса с маской LVIF_IMAGE пропускать. Тогда и появлялись бы сначала строки, а затем уже иконки. Но раз у тебя не virtual, то iFrom и iTo не получишь. Что касается SHGetFileInfo и explorer'a, возможно explorer пользуется другими источниками, а не SHGetFileInfo. Мож в реестре где смотрит. |
|
|
Дата: Авг 16, 2004 00:21:58 Спасибо ты меня просветила !!! а сообщение LVN_GETDISPINFO у меня приходило наверно из за индекса иконки == I_IMAGECALLBACK; |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.060 |