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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разные цвета в StaticText, Virtual TreeView 
:(
    Опции темы
Coderr
  Дата 29.1.2008, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Доброго времени суток! Как реализовать отображение статического текста разными цветами(ну как в qip рядом с именем группы)?
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
ivan219
  Дата 30.1.2008, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

StaticText1.Font.Color := clRed;

PM MAIL ICQ   Вверх
Coderr
Дата 31.1.2008, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Читай внимательнее сабж. =)
Цитата

Virtual TreeView

В qip есть справа от имени группы стоит счётчик онлайн/всего_пользователей(кто не видел, тот может посмотреть пример в аттаче).
Вот как мне реализовать эту разноцветность?

Присоединённый файл ( Кол-во скачиваний: 47 )
Присоединённый файл  1.jpg 17,59 Kb
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
VICTAR
Дата 31.1.2008, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

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



а что у тебя VirtualStringTree или VirtualDrawTree?
PS вообще советую второе. можно все разрисовать, как душе угодно  smile 
PM MAIL   Вверх
Coderr
Дата 31.1.2008, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Читай внимательнее сабж. =)
Цитата

Virtual TreeView

В qip есть справа от имени группы стоит счётчик онлайн/всего_пользователей(кто не видел, тот может посмотреть пример в аттаче).
Вот как мне реализовать эту разноцветность?

Присоединённый файл ( Кол-во скачиваний: 31 )
Присоединённый файл  1.jpg 17,59 Kb
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Coderr
Дата 31.1.2008, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Ну вообще первое. =)
Вторым боюсь пользоваться, ибо как написано в статье:
Цитата
Он не ориентирован на отображение каких-то специфических данных, вроде текста.

А мне как раз текст(ну как минимум слова) надо отображать. :(

Это сообщение отредактировал(а) Coderr - 31.1.2008, 01:45
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
VICTAR
Дата 31.1.2008, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

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



Ну если ты ориентируешься на qip, то это и есть VirtualDrawTree  smile 
так что отбрось предрассудки  smile 
PM MAIL   Вверх
Coderr
  Дата 31.1.2008, 02:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Ну хорошо. Допустим. Тогда созревает аж два вопроса: как мне отобразить текст элемента(у VirtualDrawTree нет события OnGetText) и как отобразить разноцветный статический текст?
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
VICTAR
Дата 31.1.2008, 02:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

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



Не OnGetText, зато есть OnDrawNode.
В твоем расположении оказывается PaintInfo.Canvas, на котором ты можешь нарисовать все что угодно, хоть розового слона  smile 
PM MAIL   Вверх
Coderr
  Дата 31.1.2008, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Розовый слон - эт, конечно, круто. Однако когда я попытался на канвасе VirtualTreeView нарисовать текст, у меня ничего не получилось. Какие мне координаты по Х и У брать? О_о
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
VICTAR
Дата 31.1.2008, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

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



PaintInfo.CellRect

Добавлено через 1 минуту и 1 секунду
В одном из примеров к той статье есть отрисовка VDT

Добавлено через 2 минуты и 11 секунд
Fig 1.5
PM MAIL   Вверх
Coderr
Дата 31.1.2008, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Ладно. Днем посмотрю, перечитаю статью. =)
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Coderr
Дата 1.2.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Ну я опробовал чуть-чуть. Возникло пару вопросов.
1) Элемент сейчас выделяется только при клике в области CellRect. Как мне сделать чтобы выделялся элемент при нажатии в любом месте элемента?
2) При выделении, за счёт CellRect образуются "плавники"(пример в аттаче). Как от них избавится? Просто закрасить FillRect'ом?

Присоединённый файл ( Кол-во скачиваний: 41 )
Присоединённый файл  1.jpg 27,38 Kb
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
Coderr
Дата 1.2.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 234
Регистрация: 27.1.2006
Где: Vesnet

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



Ок. Как скрыть "плавники" - это понятно. А как залить фон при выделении и очистить фон после потери фокуса?

Присоединённый файл ( Кол-во скачиваний: 27 )
Присоединённый файл  1.jpg 27,38 Kb
--------------------
Кодинг - это стиль жизни!   
PM WWW ICQ   Вверх
VICTAR
Дата 1.2.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

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



Цитата(Coderr @  1.2.2008,  18:29 Найти цитируемый пост)
1) Элемент сейчас выделяется только при клике в области CellRect. Как мне сделать чтобы выделялся элемент при нажатии в любом месте элемента?

Код

VDT1.TreeOptions.SelectionOptions := VDT1.TreeOptions.SelectionOptions + [toFullRowSelect];


Цитата(Coderr @  1.2.2008,  18:46 Найти цитируемый пост)
А как залить фон при выделении и очистить фон после потери фокуса? 

Код

  with PaintInfo do
  begin
    if VDT.FocusedNode = Node then
      Canvas.Brush.Color := clBlue
    else
      Canvas.Brush.Color := VDT.Color;
    Canvas.FillRect(CellRect);
  end;


Это сообщение отредактировал(а) VICTAR - 1.2.2008, 20:11
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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