Идея создания этого класса пришла из 1С, уж больно понравились тамошние таблички ;-).
Для приминения класса необходимо выполнить всего три пункта:
- добавить класс в свой проект;
- поместить его на форму;
- заполнить свойство c именем "grid".
Свойства класса:
- grid: ссылка на грид, тип символьный (пример: This.Parent.Grid1 или ='ThisForm.Grid2' или ThisForm.Grid3).
- enabled: активирует(.T.)/деактивирует(.F.) действие класса на Grid, тип логический.
- proporcional: .T.-ширина колонок изменяется пропорцинально их первоначальным размерам; .F.-ширина колонок изменяется равномерно.
- SaveUserConfig(добавлено в новой версии): .T.-сохранять размер колонок, настроеных пользователем; .F.-не сохранять.
При изменении размеров колонок учитываются значения их свойств Resizable и Visible, а также свойств самого Grid'a(ScrollBars, RecordMark, DeleteMark и т.д.).
Все бы не плохо,но как я понял из кода и примера, пользователю надо запретить настраивать колонки
"под себя",ибо измени он ширину так, как ему хочется, а потом произведи изменение размеров формы(и
само собой потянет ресайзирование грида) и все его настройки канут в лето.Стоит доработать сей
момент на мой взгляд,ибо пользователю стоит давать максимальную свободу действий,особенно,что
касается настроек визуального восприятия
Дядя Саша
27.06.07 16:21:04
Классное решение. Без него свойство Anchor для Grid использовать трудно. Наличие дополнительных
свойств, решает по-моему, проблемы, указаные Ganordi
kexby
13.08.07 12:44:42
2 Ganordi
Вы немного не так поняли из кода и примера - пользователю не надо запрещать настраивать колонки
"под себя" (просто в примере Grid'ы не были привязаны к какому либо источнику данных, поэтому вы и
не могли менять размер колонок).
А что касаецо "...ибо измени он ширину так, как ему хочется, а потом произведи изменение размеров
формы(и
само собой потянет ресайзирование грида) и все его настройки канут в лето." - это было
действительно так.
Этот МИНУС уже исправил (регулируется новым свойством-SaveUserConfig) и выложил, качайте архив и
пользуйтесь.