Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

TListView   Найти похожие ветки 

 
serhiyiv ©   (2009-12-19 17:47) [0]

Здравствуйте. Подскажите пожалуйста как можно решить такую проблему:
1. В ListView все айтемы рисуються вручную OnCustomDrawItem дело в том, что если количество айтемов небольшое то все работает нормально, но когда их количество где то 1000-2000 то при прокрутке списка до средины тоже в принципе все нормально, а если прокручивать список дальшо, то чем ближе к концу списка тем больше начинает тормозить. Что можно сделать?
Рисую так
 ListView1.SmallImages.Draw(Sender.Canvas,rect.Left+21,rect.Top+2,Item.ImageIndex);
 Sender.Canvas.TextOut(rect3.Left-3,rect3.Top-1,Item.Caption);

2. Допустим рисую текст айтема черным цветом. Как вывести еще один текст для того же айтема только другим цветом?

Вывожу первый текст
DefaultDraw:=false;
    Sender.Canvas.Font.Color:=clWhite;
    Sender.Canvas.TextOut(rect3.Left-3,rect3.Top+3,Item.Caption);

Если продублировать етот код но с другим цветом то рисует и первый текст и второй тем же цветом?


 
KilkennyCat ©   (2009-12-20 18:21) [1]

если действительно рисовать в OnCustomDrawItem то нет проблем.
откуда там взялась такая странная конструкция: ListView1.SmallImages.Draw(Sender.Canvas,rect.Left+21,rect.Top+2,Item.ImageIndex);
Sender.Canvas.TextOut(rect3.Left-3,rect3.Top-1,Item.Caption); ?


 
KilkennyCat ©   (2009-12-20 18:24) [2]

http://www.sql.ru/forum/actualthread.aspx?tid=245778


 
KilkennyCat ©   (2009-12-20 18:25) [3]


> KilkennyCat ©   (20.12.09 18:21) [1]

уточню, странная только
> ListView1.SmallImages.Draw(Sender.Canvas,rect.Left+21,rect.
> Top+2,Item.ImageIndex);


 
Юрий Зотов ©   (2009-12-20 18:33) [4]

> 1000-2000...
> при прокрутке списка...  

Бедняга юзер...


 
Amoeba ©   (2009-12-20 22:23) [5]


> но когда их количество где то 1000-2000 то при прокрутке
> списка

Столько прокручивать только злейшему врагу можно пожелать ...


 
serhiyiv ©   (2009-12-20 22:41) [6]

Спасибо за советы, но что там странного? И как насчет торого вопроса? и  еще подскажите как вот в 7 винде реализирована возможность увеличивать и уменьшать размер миниатюр (фоток) так что ето делаеться нормально и без особой нагрузки. Просто если создавать миниатюру каждый раз загружая основную картинку из файла и прикрепить ету процедуру к TrackBar то при изменении TrackBar а ето капец как тормозит. Хоть приблезительно как ето все реализировано ?


 
KilkennyCat ©   (2009-12-20 23:39) [7]


> И как насчет торого вопроса?

ссылку смотри.

> Хоть приблезительно как ето все реализировано

во-первых, отрисовывается только то, что нужно. Нафига пользователю отрисовывать те объекты, которые он не видит?



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
2-1261259931
Б
2009-12-20 00:58
2010.02.21
Чёрно-белой растр.


15-1260515890
Polkin
2009-12-11 10:18
2010.02.21
Казахский в PHP


15-1260328586
Kerk
2009-12-09 06:16
2010.02.21
Лицемерие :)


2-1261394560
valussev@mail.ru
2009-12-21 14:22
2010.02.21
часть битмапа


3-1234876925
Дукам
2009-02-17 16:22
2010.02.21
Просмотр объектов, привязанных к таблице