Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-87298
Bart
2003-02-10 10:18
2003.02.27
BLOB Поля!


1-87555
$Hic0
2003-02-17 12:46
2003.02.27
Запись чисел по указанному адресу


14-87704
Журналист
2003-02-09 11:34
2003.02.27
Опрос 2


1-87442
anbezr
2003-02-18 15:25
2003.02.27
Метод Create


14-87673
ShowDeath555
2003-02-11 09:35
2003.02.27
Хочу узнать скока я скачал с ИНТЕРНЕТА





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский