Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 чей?


Наверх

Титульная страница Поиск, карта сайта Написать письмо