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

Вниз

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

Наверх





Память: 0.45 MB
Время: 0.034 c
14-1089311772
Stilgar
2004-07-08 22:36
2004.07.25
Подскажите хорошую литературу по написанию игр


3-1088175347
Alibaba
2004-06-25 18:55
2004.07.25
sp_who


1-1089700940
MisteRR
2004-07-13 10:42
2004.07.25
Word.Application


14-1088803935
saNat
2004-07-03 01:32
2004.07.25
Книга по 3D MAX


1-1089705993
Jakut
2004-07-13 12:06
2004.07.25
ListView + Gauge





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский