Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VirtualTreeView + разворачивание формы, Как быть с колонками VirtualTreeView ? 
:(
    Опции темы
Erazer
Дата 19.6.2008, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



Есть,VirtualTreeView, с несколькими колонками, при увеличении размеров формы оно тоже должно увеличиваться, должны становиться шире колонки/колонка, где и как это настроить ? Или как быть ?
PM MAIL   Вверх
gta4kv
Дата 19.6.2008, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



в .net есть такой параметр как "Dock", в делфи что-то подобное, уже не помню.
PM MAIL   Вверх
Erazer
Дата 19.6.2008, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



вернее хотелось бы сделать так чтобы увеличение VTV происходило за счет первой колонки, а ширина остальных оставалась прежней.
PM MAIL   Вверх
aktuba
Дата 19.6.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(Erazer @  19.6.2008,  11:55 Найти цитируемый пост)
вернее хотелось бы сделать так чтобы увеличение VTV происходило за счет первой колонки, а ширина остальных оставалась прежней. 

А документацию посмотреть? В Header.Options свойство AutoSize в True + в Header свойство AutoSizeColumn поставь нужную тебе колонку.

P.S.: названия свойств писал по памяти, могу ошибаться.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Doga
Дата 19.6.2008, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 20.12.2007
Где: Россия, Обнинск

Репутация: нет
Всего: нет



Привет.

Для этого следует использовать обработчик события VirtualTreeView OnResize. Примерно с таким кодом (для случая с тремя колонками):

Код

VirtualStringTree1.Header.Columns.Items[0].Width := VirtualStringTree1.ClientWidth - VirtualStringTree1.Header.Columns.Items[1].Width - VirtualStringTree1.Header.Columns.Items[2].Width;


Это сообщение отредактировал(а) Doga - 19.6.2008, 12:25
PM MAIL WWW   Вверх
Erazer
Дата 19.6.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



Цитата(aktuba @  19.6.2008,  12:19 Найти цитируемый пост)
названия свойств писал по памяти
 очжаль,т.к. ничего из вышеуказанного найти не удалось smile

Добавлено через 3 минуты и 23 секунды
Doga, пасип, то шо доктор прописал  smile 
PM MAIL   Вверх
Erazer
Дата 19.6.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



пришлось перевесить на FormResize,т.к. на 
Цитата(Doga @  19.6.2008,  12:24 Найти цитируемый пост)
VirtualTreeView OnResize
 VTV неадекватно себя ведет,нельзя изменить ширину первой колонки, но можно других,но при этом их ширина меняется через зад скажем так,т.е. тянем за правую границу а двигается левая  smile .

PM MAIL   Вверх
aktuba
Дата 20.6.2008, 14:16 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(Doga @ 19.6.2008,  13:24)
Привет.

Для этого следует использовать обработчик события VirtualTreeView OnResize. Примерно с таким кодом (для случая с тремя колонками):

Код

VirtualStringTree1.Header.Columns.Items[0].Width := VirtualStringTree1.ClientWidth - VirtualStringTree1.Header.Columns.Items[1].Width - VirtualStringTree1.Header.Columns.Items[2].Width;

Это что-за бред такой??? Может сначала доку посмотреть, а потом такие "умные" советы давать?
Приложил тестовый проект - посмотри его.

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  VT.rar 2,09 Kb


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Erazer
Дата 22.6.2008, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



Пасип пасатрел, как раз такое поведение делается на раз два,но при этом
Цитата(Erazer @  19.6.2008,  23:03 Найти цитируемый пост)
 VTV неадекватно себя ведет,нельзя изменить ширину первой колонки, но можно других,но при этом их ширина меняется через зад скажем так,т.е. тянем за правую границу а двигается левая 
 а если 
Код

VirtualStringTree1.Header.Columns.Items[0].Width := VirtualStringTree1.ClientWidth - VirtualStringTree1.Header.Columns.Items[1].Width - VirtualStringTree1.Header.Columns.Items[2].Width;
 + 
Цитата(Erazer @  19.6.2008,  23:03 Найти цитируемый пост)
VirtualTreeView OnResize
 то все пашет ка надо 
так адекватнее на мой взгляд:

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  VT.rar 2,11 Kb
PM MAIL   Вверх
aktuba
Дата 22.6.2008, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Кому как... Мне стандартный вариант более понятен и предсказуем...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Erazer
Дата 22.6.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



Цитата(aktuba @  22.6.2008,  13:31 Найти цитируемый пост)
Мне стандартный вариант более понятен и предсказуем... 
 ну эт точно кому как, в качестве ориентира я использую Easy CD-DA Extractor,не самая неизвестная прога,и поведение грида в ней и в моем примере мне кажется все же более адекватным с точки зрения логики чем в твоем. smile

Добавлено через 1 минуту и 36 секунд
ну если я тащу правую гранцу столбца то она и должна перемещаться в право, а не вместо этого  левая влево...  smile какая-то извращенная логика действия получается  smile 
PM MAIL   Вверх
aktuba
Дата 23.6.2008, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(Erazer @  22.6.2008,  17:49 Найти цитируемый пост)
ну если я тащу правую гранцу столбца то она и должна перемещаться в право, а не вместо этого  левая влево...  smile какая-то извращенная логика действия получается  smile  

Тогда зачем заставлять программу делать авторасчет ширины столбцов? Смотри, исходить надо из того, что общая ширина столбцов всегда фиксированная. Теперь, когда ты тянешь столбец вправо, общая ширина, соответственно, увеличивается, но программа тут-же уменьшает ее до максимальной, поэтому и получается, что тянешь вправо, а тянется влево.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Erazer
Дата 23.6.2008, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



Цитата(aktuba @  23.6.2008,  10:08 Найти цитируемый пост)
зачем заставлять программу делать авторасчет ширины столбцов

ну я не вижу смысла увеличивать ширину других колонок кроме первой,т.к. жанр, год,номер трека (прмменительно к аудиофайлу )не требуют увеличения ширины колонок,точнее она им не нужна я бы сказал, а вот имя файла зачустую очдлинное и его колонку как раз можно бы и увеличить при раскрытии проги на весь экран, но при этом еще разумно было бы оставить за пользователем возможность изменять размеры колонок вручную, причем любых - мало ли что ему захочется рассмотреть?! вот поэтому ниболее адекватным я считаю в моем примере.

Цитата(aktuba @  23.6.2008,  10:08 Найти цитируемый пост)
поэтому и получается, что тянешь вправо, а тянется влево. 
 - ну согласись что это выглядит странно без приложенного объяснения, т.е. с точки зрения внутреннего устройства все логично , но в привычном нам мире это неестественно.  ты же не делаешь шаг левой ногой чтобы сдвинуться вправо ?! smile и ни в 1 проге я подобного поведения не встречал.

PM MAIL   Вверх
aktuba
Дата 23.6.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата(Erazer @  23.6.2008,  11:50 Найти цитируемый пост)
- ну согласись что это выглядит странно без приложенного объяснения, т.е. с точки зрения внутреннего устройства все логично , но в привычном нам мире это неестественно.  ты же не делаешь шаг левой ногой чтобы сдвинуться вправо ?! smile и ни в 1 проге я подобного поведения не встречал.

Поэтому я и сказал, что тебе не нужен авторесайз. Тебе надо в ручную делать ресайз колонок при ресайзе формы (да и то в этом не уверен)...

Добавлено через 36 секунд
Авторесайз нужен тогда, когда не нужна возможность изменения ширины колонок в ручную, например, когда есть только одна колонка.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Erazer
Дата 25.6.2008, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 1.6.2008

Репутация: -1
Всего: -1



 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2579 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.