Topic: Не отображается иконка в TreeView
Доброго времени суток!
Пытаюсь добавить иконку в TreeView. Для этого создаю TImageList, но всё четно. Подскажите пожалуйста, что не так?
Заранее всем большое спасибо!
My Visual Database → Russian → Не отображается иконка в TreeView
Доброго времени суток!
Пытаюсь добавить иконку в TreeView. Для этого создаю TImageList, но всё четно. Подскажите пожалуйста, что не так?
Заранее всем большое спасибо!
Картинку вы так не добавите. Но код интересный, хочется услышать комментарии о том, за что отвечает свойство ImageIndex у строки )))
Form1.TreeView1.Row[form1.TreeView1.LastAddedRow].ImageIndex:=1;
А картинка в дерево добавляется по такому же алгоритму, что и в таблицу:
procedure Tree_AddGrControl(ATree:TdbTreeView);
// добавление колонки с графическими элементами управления деревом
var
G: TGraphic;
tmpImage:TdbImage;
tmpName: string;
i: integer;
begin
// проверка, чтобы не добавлять дважды
if not (ATree.Columns[0] is TNxGraphicColumn) then
begin
// из-за того, что колонка с картинкой добавляется, настройки надо сдвинуть
for i:=0 to ATree.Columns.Count - 2 do
ATree.Columns[i].Width := ATree.Columns[i+1].Width;
// добавляем картинку
ATree.Columns.InsertGraphicColumn(0);
TNxGraphicColumn(ATree.Columns[0]).BorderWidth := 0; // убрать рамки вокруг картинок
ATree.Columns[0].Options := ATree.Columns[0].Options - coCanSort; // отключить сортировку при клике на заголовке добавленной колонки
ATree.Columns[0].Width := 30; // ячейка с изображением
for i := 0 to ATree.RowCount - 1 do
begin
tmpImage := FindImage(frmStart,tmpName); // находим нужную картинку (например TdbImage на форме) - тут должен быть ваш алгоритм...
G := TPngImage.Create;
G.Assign( tmpImage.Picture ); // копируем картинку в графический объект дерева
ATree.Cell[0, i].ObjectReference := G;
end;
end;
end;
k245, спасибо что уделили время теме!
Но код интересный, хочется услышать комментарии о том, за что отвечает свойство ImageIndex у строки )))
Честно говоря действовал, в этом вопросе абсолютно интуитивно. Не нашел в свойствах компонента ничего похожего на .Nodes.Add(,,[Key],[Text],[Image],) AS Node. Начал щупать и единственное, что хоть как то связано с Image было только TreeView.Row.
Я искренне признателен Вам за Ваш код. Но, откровенно сказать, не понимаю его. Какая разница между TTreeView и TdbTreeView? Но это скорее проблема уровня моих текущих познаний и отсутсвия достаточного количества базы читалок для программы. Приходится учиться на форуме. Буду дальше стараться.
Какая разница между TTreeView и TdbTreeView?
TdbTreeView - это визуальный компонент из палитры компонентов My Visual Database, может работать с источником данных.
TTreeView - это стандартный компонент VCL, можно использовать с помощью скриптов.
В вашем проекте вы задействовали компонент TdbTreeView.
My Visual Database → Russian → Не отображается иконка в TreeView
Powered by PunBB, supported by Informer Technologies, Inc.
Theme Hydrogen by Kushi