Страница: 1 |
Страница: 1 |
Вопрос: Картинки в ListView
Добавлено: 08.03.07 11:19
Автор вопроса: KreAtoR
Как можно что бы при чтении данных из ListView у строк до которых еще не дошли показывался
image1
у строки которая в данный момент считывается показывался
image2
а у строк которые уже считались показывался
image3
Картинки будут показываться в первой колонке.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #1
Добавлено: 08.03.07 14:33
Все вопросы, подобные этому, "автоматом" отпадут после выяснения того, что представляет из себя ListView и др. контролы.
Общее решение -"субклассировать" ListView, и делай с ним - что хочешь. Хоть слово из трех букв по диагонали напиши и "фигу" по центру.
Номер ответа: 2
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #2
Добавлено: 08.03.07 15:06
а что такое субклассировать если не секрет
Номер ответа: 3
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #3
Добавлено: 08.03.07 15:13
Это значит - упрощенно - влезть в цикл сообшений Windows посылаемых конкретному окну и обработать (блокировать, видоизменить) избранные сообщения до (или после) DefWindowProc данного окна.
В твоем случае нужно что-то нарисовать в окне контрола.
смотри в MSDN
~SetWindowLong, WM_PAINT, DrawIconEx~ и т.д.
Номер ответа: 4
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #4
Добавлено: 08.03.07 16:06
А как удалить елемент которий прочло і вставит новий і з новой картинкой
или вобще іметь два Listview один как есть а второй динамичний все время обновлять все елементи в ньом із разними картинками как такой вариант KreAtoR
Номер ответа: 5
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #5
Добавлено: 08.03.07 16:07
Номер ответа: 6
Автор ответа:
D o c a l
ICQ: 408802757
Вопросов: 76
Ответов: 985
Web-сайт:
Профиль | | #6
Добавлено: 08.03.07 16:08
Надеюсь понятно.
А как =А как например такой вариант
 oc
Номер ответа: 7
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #7
Добавлено: 08.03.07 17:18
посмотрел я посмотрел да и плюнул на эти картинки. сделал просто текстом.
пример приведу для таких как я
короче создаем массив wait(2)
wait(0)="wait"
wait(1)="do"
wait(2)="done"
и создаем еще один столбец
frmMain.EventList.ColumnHeaders.Add , , "ЗProgress",800
перед началом работы забиваем этот пустой толбец словом wait ну пита жду обработки
Do While rowsPr > 0
pr_rows = pr_rows + 1
Set lItem = EventList.ListItems.Item(pr_rows)
lItem.ListSubItems.Item(1) = l_wait(0)
rowsPr = rowsPr - 1
Loop
потом когда началась обработка определенной строки делаем следующее
lItem.ListSubItems.Item(1) = l_wait(1)
это ставится в самое начало цикла который их обрабатывает (похожая тема
а в конце цикла когда уже строка была добавлена на одну единицу ставим следующее
lItem.ListSubItems.Item(1) = l_wait(2)
вот и все