![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TTreeView Nodes [D5, WinXP]
Dil © (2005-02-22 08:56:00)Я прорисовываю в TV свои собственные ноды, но как сделать, допустим, чтобы первые 5 букв текста нода быти жирными, остальные-обычными. Font.Style срабатывает только один раз, также как Color, Size, т.е. поменять эти свойства становится невозможным. Что делать?
Shirson (2005-02-24 17:41:00) [1]При ручной отрисовке, сначала выводишь первые 5 символов жирным, затем вычисляешь их ширину и относительно неё рисуешь оставшуюся часть текста.
Только вот зачем такой кошмар?
Atrion (2005-02-22 09:27:00) [2]у итемов TreeView есть такие стейты TVIS_BOLD TVIS_CUT TVIS_DROPHILITED и еще несколько...во они как раз и опр вид итемов...
Denis (2005-02-22 09:24:00) [3]Первые пять?
Думаю вряд ли это возможно при помощи стандартных свойств и методов дерева, хотя мастера могут мне и возразить.
А вообще для установки параметров текста ветки использую такую процедуру:
procedure SetNodeState(Node :TTreeNode; Flags: Integer);
var
Item: TTVItem;
begin
FillChar(Item, Sizeof(Item), 0);
with Item do
begin
hItem := node.ItemID;
mask := TVIF_STATE;
stateMask := TVIS_BOLD or TVIS_CUT;
state := Flags;
end;
TreeView_SetItem(Node.Handle, Item);
end;
Вызов процедуры (обычно в CustomDrawItem):
SetNodeState(MyTree.Selected, TVIS_BOLD); - текст жиpным
ЮЮ (2005-02-22 09:11:00) [4]Font.Styleб а также как Color, Size чей?