Текущий архив: 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.46 MB
Время: 0.005 c