Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

Не получается самому рисовать 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
3-87268
Andrio
2003-02-08 15:33
2003.02.27
Триггер на SQL для IB6


1-87444
Alpine
2003-02-18 16:30
2003.02.27
Как в всплывающее меню IExplorer - а добавить свою строку ?


1-87441
SergeyDon
2003-02-18 16:23
2003.02.27
Socket в dll


14-87701
IlyaGer
2003-02-11 17:03
2003.02.27
Где взять с исходниками бесплат. компоненту типа TCheckTreeView


3-87246
Siv Soft
2003-02-10 13:30
2003.02.27
ODBC - коннект: could not convert null in string