Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
15-1260394219
Юрий
2009-12-10 00:30
2010.02.21
С днем рождения ! 10 декабря 2009 четверг


15-1260368206
medic357
2009-12-09 17:16
2010.02.21
Задачки


15-1260401856
Германн
2009-12-10 02:37
2010.02.21
Маленькая offtop шутка.


3-1234936713
тимохов
2009-02-18 08:58
2010.02.21
Как обновлять TAdoTable в одной форме, при изменении в другой?


11-1174919254
ElectriC
2007-03-26 18:27
2010.02.21
Горизонтальная полоса прокрутки в ListBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский