![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разноцветный TTreeView [D6, WinXP]
Guf © (2005-02-21 23:13:00)Здравствуйте все, у меня проблема - надо сделать items в TTreeView разными цветами (достаточно двух - трех цветов).
Сначала пробовал через TTVItem, но TTVItem не имеет поля цвет.
Пытался разобраться с примером CustomDraw, вроде всё понятно, кроме одного: где хранить цвет? Поясню, там перекрывается процедура:
CustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode;
State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if cdsSelected in State then
begin
//рисуем то что надо...
end;
end;
TCustomDrawState выглядит так,TCustomDrawState = set of (cdsSelected, cdsGrayed, cdsDisabled, cdsChecked, cdsFocused, cdsDefault, cdsHot, cdsMarked, cdsIndeterminate);С cdsSelected и cdsFocused все понятно,а как быть с остальными, например пишу:
if cdsMarked in State then
begin
ShowMessage('cdsMarked');
end;
сообщение никогда не появляется, хотя в хелпе написано, что cdsMarked означает, что Item помеченный, а вот как его пометить не сказано.
Помогие, буду рад любым советам.
riv (2005-02-22 10:03:00) [1]Использую CustomDrawItem
А что и как будет выглядеть храню в DATA
if PTreeList(Node.Data).Count > 0 then begin
Node.Text := PTreeList(Node.Data).O_Name + ' [' + IntToStr(PTreeList(Node.Data).Count) + ']';
(Sender as TTreeView).Canvas.Font.Style := (Sender as TTreeView).Canvas.Font.Style + [fsBold];
end else begin
Node.Text := PTreeList(Node.Data).O_Name;
(Sender as TTreeView).Canvas.Font.Style := (Sender as TTreeView).Canvas.Font.Style - [fsBold];
end;
Cosinus (2005-02-22 09:41:00) [2]IMHO использовать Data или Objects.
Denis (2005-02-22 09:35:00) [3]А если записывать цвет при создании ветви в Node.Data? Если конечно у свойства нет иного назначения.
Либо осторожно использовать OverlayIndex. Не думаю, правда, что это правильно, но я иногда так делаю.
GanibalLector (2005-02-22 01:33:00) [4]Недавно с ibase.ru вытянул IBAnalyst .Так там юзают VirtualTreeView.В Aboute пишут,что взят www.soft-gems.net
З.Ы.На счет исходников не знаю...не качал