Главная страница
    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.01 c
14-87697
microsoft
2003-02-11 19:12
2003.02.27
ПОМОГИТЕ СРОЧНО. Кто нибудьзнает как сделать Code Completion


14-87678
Zhenka
2003-02-10 19:39
2003.02.27
Что значит эта надпИсь


7-87727
Uka
2002-12-30 10:54
2003.02.27
Люди добрые!


6-87589
SeF
2003-01-08 23:51
2003.02.27
TServerSocket


1-87376
Rookie83
2003-02-17 18:00
2003.02.27
Combobox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский