Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];

Вниз

Как в TreeView установить Хинты вручную на каждую ветвь?   Найти похожие ветки 

 
zam   (2002-03-24 19:52) [0]

Цель - сделать все ветви дерева одинаковой длины, причем если текст ветви превышает эту длину, то поставить в конце многоточие , но при выборе ветви, в хинте показывать всю строку (не урезанную), причем хинты должны вываливаться даже если дерево полностью помещаеся на форме(по умолчанию хинты показываются только если часть строки в форме не помещается)
Помогите пожалуйста, кто знает.


 
lipskiy   (2002-03-24 20:33) [1]

Можно поробовать перекрыть метод отрисовки итемов и выводить их текст вручную с многоточием, хинт при этом не затронется и должен отображать полный заголовок итема.


 
zam   (2002-03-24 22:15) [2]

Это в каком обработчике и какое свойство надо изменить, чтобы не изменился сам Caption итемов?


 
lipskiy   (2002-03-24 23:50) [3]

На OnAdvancedCustomDrawItem вешаешь обработчик, в нем берешь область отрисовки итема Node.DisplayRect, запрещаешь DefaultDraw и рисуешь текст сам TreeView1.Canvas.TextRect. Текст рисуешь любой, Caption итемов не меняется.
Но это геморройно, так надо будет корректно отработать все варианты отрисовок - выделенная/невыделенная нода, фокус/не фокус, м.б. еще что-то. Непросто, но совершенно реально, если очень надо.


 
lipskiy   (2002-03-24 23:54) [4]

Вот, кстати еще одна шальная мысль пришла.
Можно не перекрывать стандартную отрисовку, а просто на канве дерева после стандартной отрисовки "накрыть" концы заголовков итемов прямоугольником с текстом из точек, правда в этом случае край прямоугольника будет обрезать буквы заголовка итема в любом месте - будут половинчатые буквы перед точками :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
1-9570
anod
2002-03-24 00:29
2002.04.04
StringGrid


14-9619
Tosov
2002-02-15 16:48
2002.04.04
Получение пароля из формы


1-9538
deni
2002-03-24 00:07
2002.04.04
Как открыть дерикторию например c: windows?


1-9547
snoup
2002-03-23 18:13
2002.04.04
Как написать прогу которая бы искала указаный файл на винте???


1-9507
SeF
2002-03-23 01:44
2002.04.04
Опять DLL





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