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... и рисуй на канве что и как хочешь .
|
|
telepath |
Отправлено: 14.03.2005, 11:16 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 132
|
спасибо, теперь разобрался |
|