| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > VirtualTreeView + разворачивание формы |
| Автор: Erazer 19.6.2008, 01:19 |
| Есть,VirtualTreeView, с несколькими колонками, при увеличении размеров формы оно тоже должно увеличиваться, должны становиться шире колонки/колонка, где и как это настроить ? Или как быть ? |
| Автор: gta4kv 19.6.2008, 01:24 |
| в .net есть такой параметр как "Dock", в делфи что-то подобное, уже не помню. |
| Автор: Erazer 19.6.2008, 10:55 |
| вернее хотелось бы сделать так чтобы увеличение VTV происходило за счет первой колонки, а ширина остальных оставалась прежней. |
| Автор: Doga 19.6.2008, 12:24 | ||
| Привет. Для этого следует использовать обработчик события VirtualTreeView OnResize. Примерно с таким кодом (для случая с тремя колонками):
|
| Автор: Erazer 19.6.2008, 21:47 |
| очжаль,т.к. ничего из вышеуказанного найти не удалось Добавлено через 3 минуты и 23 секунды Doga, пасип, то шо доктор прописал |
| Автор: Erazer 19.6.2008, 23:03 |
| пришлось перевесить на FormResize,т.к. на VTV неадекватно себя ведет,нельзя изменить ширину первой колонки, но можно других,но при этом их ширина меняется через зад скажем так,т.е. тянем за правую границу а двигается левая |
| Автор: aktuba 20.6.2008, 14:16 | ||||
Это что-за бред такой??? Может сначала доку посмотреть, а потом такие "умные" советы давать? Приложил тестовый проект - посмотри его. |
| Автор: Erazer 22.6.2008, 13:11 | ||||
Пасип пасатрел, как раз такое поведение делается на раз два,но при этом
так адекватнее на мой взгляд: |
| Автор: aktuba 22.6.2008, 13:31 |
| Кому как... Мне стандартный вариант более понятен и предсказуем... |
| Автор: Erazer 22.6.2008, 16:49 |
| ну эт точно кому как, в качестве ориентира я использую Easy CD-DA Extractor,не самая неизвестная прога,и поведение грида в ней и в моем примере мне кажется все же более адекватным с точки зрения логики чем в твоем. Добавлено через 1 минуту и 36 секунд ну если я тащу правую гранцу столбца то она и должна перемещаться в право, а не вместо этого левая влево... |
| Автор: aktuba 23.6.2008, 10:08 | ||
Тогда зачем заставлять программу делать авторасчет ширины столбцов? Смотри, исходить надо из того, что общая ширина столбцов всегда фиксированная. Теперь, когда ты тянешь столбец вправо, общая ширина, соответственно, увеличивается, но программа тут-же уменьшает ее до максимальной, поэтому и получается, что тянешь вправо, а тянется влево. |
| Автор: Erazer 23.6.2008, 10:50 |
ну я не вижу смысла увеличивать ширину других колонок кроме первой,т.к. жанр, год,номер трека (прмменительно к аудиофайлу )не требуют увеличения ширины колонок,точнее она им не нужна я бы сказал, а вот имя файла зачустую очдлинное и его колонку как раз можно бы и увеличить при раскрытии проги на весь экран, но при этом еще разумно было бы оставить за пользователем возможность изменять размеры колонок вручную, причем любых - мало ли что ему захочется рассмотреть?! вот поэтому ниболее адекватным я считаю в моем примере. - ну согласись что это выглядит странно без приложенного объяснения, т.е. с точки зрения внутреннего устройства все логично , но в привычном нам мире это неестественно. ты же не делаешь шаг левой ногой чтобы сдвинуться вправо ?! |
| Автор: aktuba 23.6.2008, 13:24 | ||
Поэтому я и сказал, что тебе не нужен авторесайз. Тебе надо в ручную делать ресайз колонок при ресайзе формы (да и то в этом не уверен)... Добавлено через 36 секунд Авторесайз нужен тогда, когда не нужна возможность изменения ширины колонок в ручную, например, когда есть только одна колонка. |
| Автор: Erazer 25.6.2008, 01:27 |
| |