Как сохранить содержимое TreeView? И где? Вы уже, конечно же, мучались с таким вопросом! В примере показан один из способов решения данной проблемы. Все сохраняется в обычном текстовом файле.
Иногда при работе с TreView контролом возникает очень неприятная проблема. Дело в том, что если размеры контрола небольшие, а названия нодов в нем длинные, то при использовании метода EnsureVisible для продвижения списка, ноды сдвигаются вправо, что очень неудобно. Решение этой проблемы не такое уж и простое. Этот пример демонстрирует как это можно сделать.
Вывод списка всех элементов управления формы в дерево TreeView, с показом иерархии вложенности контейнеров и поэлементной развёрткой массивов ЭУ. Проект требует библиотеку MSCOMCTL.OCX. Это просто пример; на его базе несложно сделать ActiveX контрол с методом PrintTree - довольно часто разработчику полезно видеть "дерево" своей формы перед глазами.
У меня есть форма с расположенными на ней компонентами TreeView и Memo. Значение свойства align обоих компонентов позволяет им занимать всю форму. Я хотел бы расположить между ними движок типа Splitter, пропорционально меняющий их размеры (один шире, другой меньше и наоборот). Какой компонент мог бы симитировать поведение Splitter и как это реализовать?
Предположим, Ваш TreeView расположен в левой, а Memo в правой части формы. Вам нужно сделать следующее:
* Установите свойство Align компонента TreeView на alLeft.
* Вырежьте (Ctrl-X) компонент TMemo из вашей формы.
* Добавьте компонент Panel и присвойте его свойству Align значение alClient.
* Внутри панели разместите другой компонент Panel.
* Установите его ширину, равной 8 пикселам, свойству Align присвойте значение alLeft.
* Скопируйте вырезанный компонент TMemo в панель Panel1 и присвойте свойству Align значение alClient.
Код может быть модифицирован для получения горизонтального движка - идея, надеюсь, будет вам понятна.
Panel2 - движок: теперь вам необходимо добавить процедуры, приведенные ниже. Ваш код будет выглядеть приблизительно так: