C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
TTreeView, изменение фонта одного нода
telepath
Отправлено: 10.03.2005, 11:18


Станционный диспетчер

Группа: Участник
Сообщений: 132



Не подскажете как изменить шрифт или цвет шрифта одного нода?
olegenty
Отправлено: 10.03.2005, 12:07


Ветеран

Группа: Модератор
Сообщений: 2412



выдрал из кулибы, перепиши на C++ сам, там всё понятно...
QUOTE

Гpхм... Господа, но если pечь пpо bold... Матчасть yчить надо 8-).

--------------------------------------------------------------------------------
procedure SetNodeState(node :TTreeNode; Flags: Integer);
var
tvi: TTVItem;
begin
FillChar(tvi, Sizeof(tvi), 0);
tvi.hItem := node.ItemID;
tvi.mask := TVIF_STATE;
tvi.stateMask := TVIS_BOLD or TVIS_CUT;
tvi.state := Flags;
TreeView_SetItem(node.Handle, tvi);
end;  

И вызываем:

--------------------------------------------------------------------------------
SetNodeState(TreeView1.Selected, TVIS_BOLD); // Текст жиpным
SetNodeState(TreeView1.Selected, TVIS_CUT); // Иконкy бледной  

(Ctrl+X)

--------------------------------------------------------------------------------
SetNodeState(TreeView1.Selected, TVIS_BOLD or TVIS_CUT); // Текст жиpным
SetNodeState(TreeView1.Selected, 0); // Hи того, ни дpyгого  

Когда-то (мечтательно закатив глаза в потолок) в API было еще и TVIS_DISABLE. Снесли собаки. А pекомендyемyю стилистикy yпотpебления этого добpа смотpи в MS Internet News. [001191]
telepath
Отправлено: 10.03.2005, 17:02


Станционный диспетчер

Группа: Участник
Сообщений: 132



Несколько непонятны функции FillChar(....) и TreeView->SetItem(....)
GIZMO
Отправлено: 11.03.2005, 10:48


Машинист паровоза

Группа: Участник
Сообщений: 174



QUOTE (telepath @ 10/03/2005, 17:02)
Несколько непонятны функции FillChar(....) и TreeView->SetItem(....)

1. memset
2. См. внимательнее не TreeView->SetItem(....), а TreeView_SetItem(....) — макрос для SendMessage(node->Handle, TVM_SETITEM, 0, (LPARAM) (const TV_ITEM FAR*)&tvi);
olegenty
Отправлено: 11.03.2005, 12:00


Ветеран

Группа: Модератор
Сообщений: 2412



2 telepath — если средствами API не хочешь, напиши OnCustomDraw... и рисуй на канве что и как хочешь smile.gif.
telepath
Отправлено: 14.03.2005, 11:16


Станционный диспетчер

Группа: Участник
Сообщений: 132



спасибо, теперь разобрался smile.gif

Вернуться в Вопросы программирования в C++Builder