Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VirtualTreeView, интересный эффект 
:(
    Опции темы
MacTep
Дата 6.4.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Как сделать следующее: у мен есть дерево, в котором некоторые строчки текста написаны не всегда черным цветом (скажем некоторые есть синего и красного). Так вот. Как сделать так, чтобы при щелчке по ним (когда выделение дерева перемещается на эти строки) цвет текста данного узнал становился белым, а само выделение таким - каким цветом был до этого цвет текста?

Вот прикладываю картинки для понятности... ;)



Присоединённый файл ( Кол-во скачиваний: 56 )
Присоединённый файл  Untitled_1_copy.jpg 148,46 Kb


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Rrader
  Дата 6.4.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



1) Завести в данных поле, в котором будет храниться инфа о том, что цвет особый (синий там или красный и т.п.)
2)У меня дерево MainList:
Код

Procedure TMainForm.MainListPaintText(Sender: TBaseVirtualTree;
  Const TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
  TextType: TVSTTextType);
Var
  Entry: PNodeEntry;
Begin
  Entry := MainList.GetNodeData(Node);
  If Not Assigned(Entry) Then Exit;
  If (vsSelected In Node^.States) And (Entry^.FSomeData = <{Доп. информация}>) Then
  Begin
    MainList.Colors.FocusedSelectionColor := clRed;
    TargetCanvas.Font.Color := clWhite;
  End;
End;

Идея понятна? smile 


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
MacTep
Дата 6.4.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Оооо, то что надо. smile;) А как узнать, что фокус ушел с дерева и вне фокуса установить другой цвет фокуса. ;)smile

И еще - стандартный цвет выделения какой? как его обратно вернуть? smile


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Rrader
  Дата 6.4.2008, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 70
Всего: 191



1)Colors.UnfocusedSelectionColor - отвечает за цвет неактивного выделения (без фокуса дерева).

2)Стандартный - clHighlight


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.