Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
ВнизНе получается самому рисовать TTreeView :( Найти похожие ветки
← →
Calm (2003-02-15 16:41) [0]В обработчике OnCustomDrawItem рисую узел дерева.
Но узел получается такой ширины, сколько занимает отрисованное свойство Node.Text
Получается, я не могу отрисовать узел несколькими шрифтами. Например, мне хочется первое слово рисовать жирным, а остальные обычным шрифтом. Точнее, отрисовать получается, но мышка чувствует только свойство Text.
Далее. Чтобы бы я ни рисовал, все равно выводится строка Text.
Как быть?
Чувствую, что упустил что-то важное. Но не могу понять что именно.
Далее...
Очень хотелось бы рисовать многострочный Node.
Помню, что на этой неделе (или в конце прошлой) в форуме обсуждался этот вопрос.
Не могу найти. Поиск на сайте НЕ РАБОТАЕТ!!! При поиске по данному форуму со словом "дерево" ничего не находится :((
Заранее спасибо за ответы.
С уважением
← →
Song (2003-02-15 17:39) [1]Надо очищать клиентскую область - FillRect()
← →
Calm (2003-02-15 18:33) [2]
> Надо очищать клиентскую область - FillRect()
Я очищаю. Не помогает.
И потом, если бы дело только в очистке, то почему же узел реагирует на мышку (выбирается кликом) только в той области, где отрисовано значение свойства Node.Text?
← →
Song (2003-02-15 21:21) [3]Ну так на это событие ты только отрисовываешь строки самостоятельно, ты вовсе этим не меняешь порядок работы мыши с деревом т.е. другими словами, даже если ты вообще ветку выводить не будешь, а кликнешь на то место где она должна быть, всё будет как надо т.е. появится фокусная рамка, сработает свойство Selected, все события и т.д.
← →
Song (2003-02-15 21:43) [4]Ты знаешь, сколько я этих обработчиков не писал, никогда у меня не выводится старое начертание ветки.
1.Определяешь клиентскую область - TTreeNode.DisplayRect()
2.Очищаешь её.
3.С этого момента можешь писать текст различными шрифтами, да хоть чёрта с рогами через TBitMap выведи..
Какие сложности-то?
← →
jack128 (2003-02-15 22:50) [5]А может DefaultDraw := False; забыл написать?
← →
Song (2003-02-16 10:19) [6]2jack128 © (15.02.03 22:50)
Это не надо.
← →
Calm (2003-02-17 10:05) [7]
> Определяешь клиентскую область - TTreeNode.DisplayRect()
Вот! Клиентская область получается такая, чтобы туда поместилось свойство TTreeNode.Text.
А хотелось бы задать ее самому. Я могу это сделать? Если могу, то как?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c