Прорисовка в CListView
От: Andre  
Дата: 28.12.02 14:01
Оценка:
Есть "почти" стандартное приложение Single Document слева TreeView, справа ListView,
"посередине" Splitter.
ListView с ручной прорисовкой — переопределен DrawItem.
При изменении размеров окна ListView очищается и перерисовывается ПОЛНОСТЬЮ (мерцание, тормоза и т.п.),
что, все-таки, не есть правильно.
Хочется сделать прорисовку только "заитеросованных" ячеек.

Подскажите, pls, в какую сторону копать.

Спасибо.
Re: Прорисовка в CListView
От: Шевченко Александр http://alexsoft.home.nov.ru
Дата: 28.12.02 14:28
Оценка:
попробуй

a) LVSICF_NOINVALIDATEALL Список не будет перерисован, пока добавленные элементы не окажутся с поле видимости.

б) элемент i требуется не менее 2-х раз, если доступ к информации длителен(база или файл), попробой хранить ее в какой-нибудь переменной, пока i(индекс элемента) не поменяется.
Re: Прорисовка в CListView
От: kmn Украина  
Дата: 28.12.02 14:35
Оценка:
Здравствуйте, Andre, Вы писали:

A>Есть "почти" стандартное приложение Single Document слева TreeView, справа ListView,

A>"посередине" Splitter.
A>ListView с ручной прорисовкой — переопределен DrawItem.
A>При изменении размеров окна ListView очищается и перерисовывается ПОЛНОСТЬЮ (мерцание, тормоза и т.п.),
A>что, все-таки, не есть правильно.
A>Хочется сделать прорисовку только "заитеросованных" ячеек.

A>Подскажите, pls, в какую сторону копать.


A>Спасибо.


для начала проверьте не установлен ли стиль (стиль класса а не стиль окна) CS_HREDROW|CS_VREDROW у ListView и у всех его родителей

у CFrameWnd он установлен (default)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.