Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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]

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




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




Наверх





Память: 0.72 MB
Время: 0.019 c
3-9404            Turalyon              2002-03-12 12:09  2002.04.04  
Вопрос по IB


1-9565            Erlend                2002-03-22 08:37  2002.04.04  
IDE


1-9511            daos                  2002-03-22 16:23  2002.04.04  
Помогите с потоками!


14-9630           Lovers                2002-02-20 21:01  2002.04.04  
Определение кол-ва процессорных тактов выполняемых заданным кодом


14-9637           [NIKEL]               2002-02-23 18:25  2002.04.04  
Поможем всем(и себе за одно) полным кодом