|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.07.2014, 03:46 | #1 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 27
|
TreeView, Canvas, Вывод текста
Здравствуйте все.
Не могу справиться с отрисовкой текста на TreeView в XE2. Мне нужно нарисовать на ноде основным цветом (пусть будет красный) текст, а другим цветом (пусть синим) выделить в нем некоторые слова. Шрифт использую моноширинный Courier New, и стараюсь реализовать это так: сначала вывожу весь требуемый текст красным (в onAdvancedDrawItem), а затем в том же событии уже "ручками" через textOut выводить отдельные слова того же текста синим цветом. Делаю это примерно так: Допустим, мне нужно в фразе "в этой строке ЭТО СЛОВО нужно сделать синим" Код:
Последний раз редактировалось Kotaries; 18.07.2014 в 17:55. |
18.07.2014, 18:16 | #2 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 27
|
Вопрос решил сам. Дело в том, что в данный пример я написал так, чтобы форумчанам не пришлось разбираться в лишних деталях моей проги. И упустил кое-какую деталь.
Дело в том, что конечно же, я не знал заранее в процессе прорисовки слов, что в начале фразы нужно будет пропустить именно текст "в этой строке ", поэтому я рассчитывал количество символов и заполнял фиктивную переменную sometext (string), а дальше уже высчитывал ее длину через textWidth. Делаю я это примерно так: Код:
Ну так вот, при ближайшем рассмотрении, выяснилось, что при setLength(s) в переменную записываются вовсе не нуллы, и конечно же не пробелы. А записывается тупо всякий мусор (спасибо notepad++). Код:
Решение проблемы - варварское, но теперь все работает! Я тупо заполняю переменную пробелами: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перемещение текста по canvas | Alex2009 | Общие вопросы Delphi | 11 | 04.12.2013 20:38 |
Прорисовка TreeView в Canvas | Manson_0 | Компоненты Delphi | 1 | 17.11.2011 14:50 |
Захват изображения с камеры И ВЫВОД НА CANVAS | FoxWMulder | Мультимедиа в Delphi | 6 | 20.01.2011 16:53 |
Выравнивание текста в canvas | Чай_ник | Помощь студентам | 2 | 06.12.2010 00:38 |
Вывод БД в TreeView? | Snegovik | Помощь студентам | 23 | 30.09.2008 20:43 |