Форум: "Основная";
Поиск по всему сайту: 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.025 c
1-9453            VL7                   2002-03-22 16:22  2002.04.04  
Помогите разобраться с BITMAPINFO (+)


3-9399            konrads               2002-03-12 06:32  2002.04.04  
Работа с таблицами без BDE


1-9457            andr                  2002-03-25 14:14  2002.04.04  
завершение работы WinExec


4-9673            MCi                   2002-01-20 10:49  2002.04.04  
Скрытие программы из Ctrl+Alt+Del в WinNT и W2K


1-9464            Ravil                 2002-03-22 16:50  2002.04.04  
Подвисание при заходе в папку с программой