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

Вниз

TreeView+картинки ,без ImageList   Найти похожие ветки 

 
Belocarsk   (2004-07-12 07:42) [0]

Доброго времени суток!!!
Каким образом можно отображать иконки без помощи ImageList?
Может кто уже проделывал такое? Конкретно мне нужно заносить из базы данных.


 
Vitalik   (2004-07-12 07:53) [1]

Это в событии OnCustomDrawItem рисовать.


 
Belocarsk   (2004-07-12 08:05) [2]

Енто я понимаю, примерчик бы....


 
Vitalik   (2004-07-12 11:37) [3]

Ну, предлагаю такое решение.
Ты вообще кидаешь на форму TImageList, но никаких иконок в него не добавляешь. И устанавшиваешь этот ImageList у твоего TTreeView (tv). Это надо, чтобы текст Node в дереве сам сдвигался влево, освобождая тебе место для иконки.

Ну и понеслась:

procedure TForm1.tvCustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode;
 State: TCustomDrawState; var DefaultDraw: Boolean);
var
 r: TREct;
begin
r := Node.DisplayRect(true); //Получаем квадрат текста текущего Node
r.Left := r.left - b.Width; //rect.left - это коодината, где начинает рисоваться текст. Но тебе-то нужно рисовать иконку левей (как раз в то пустое место, которое образовалось, когда мы указали для TV пустой ImageList)
tv.Canvas.Draw(r.left, r.top, b); //Вот и рисуем нужную иконку! b у меня TBitmap.
end;

Кстати, ссылку на иконку можно хранить в Node.Data. Тогда будет так

tv.Canvas.Draw(r.left, r.top, TBitmap(Node.Data));


 
Belocarsk   (2004-07-12 11:49) [4]

В принципе есть что-то в этом, попробую по эксперементироватью.
Спасибо Vitalik.


 
DVM ©   (2004-07-12 23:39) [5]


> Belocarsk   (12.07.04 11:49) [4]

А еще могу сказать, что это будет сильно медленнее.
ListView и TreeView, а также ImageList оптимизированы в плане совместной работы так, что превзойти по скорости вряд ли получится.
А кто мешает наполнять ImageList картинками из базы?



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1089509617
Алекс А
2004-07-11 05:33
2004.07.25
Можно ли программно, точно определить корень слова ?


4-1087072961
DukeArtem
2004-06-13 00:42
2004.07.25
Люди добрый, помогите с клавой :(


14-1089311772
Stilgar
2004-07-08 22:36
2004.07.25
Подскажите хорошую литературу по написанию игр


14-1089107031
REA
2004-07-06 13:43
2004.07.25
Stop bits


1-1089656208
Satan
2004-07-12 22:16
2004.07.25
Алгоритм поиска простых чисел порядка 2**128 и выше