Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2010, 15:26   #1
MrGB
Пользователь
 
Регистрация: 04.07.2010
Сообщений: 32
По умолчанию как по размеру содержимого определять ширину столбца в ListView?

пробовал
Код:
If rec.RecordCount <> 0 Then
        Do While Not rec.EOF
          i = i + 1
            key = str(i)
            indexkey = Val(key)
            listView1.ListItems.Add indexkey, , i
            listView1.ListItems(indexkey).SubItems(1) = rec("account_num").Value
            listView1.ColumnHeaders(2).Width = TextWidth(rec("account_num").Value)
         
          rec.MoveNext
        Loop
   End If
TextWidth - не определяется(. Как можно осуществить Autoresize?

и можно ли в Listiew сделать следующую структуру столбцов:
столбец1
/ | \
ст1_1 ст1_2 ст1_3

Последний раз редактировалось MrGB; 26.11.2010 в 16:48.
MrGB вне форума Ответить с цитированием
Старый 27.11.2010, 22:12   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте MrGB.
"..определять ширину столбца .." можно попытаться подобной конструкцией:
Код:
Const g = 1 'множитель значения ширины, задавать экспериментально
Dim s$, j%
    Do Until rec.EOF
        i = i + 1
        Key = Str(i) '?
        indexkey = Val(Key) '?
        Set o = listView1.ListItems.Add(indexkey, , i)
        s = rec("account_num") & "": o.SubItems(1) = s
        j = IIf(Len(s) > j, Len(s), j)
        rec.MoveNext
    Loop
    listView1.ColumnHeaders(2).Width = j * g
но эффективна она будет только в случае применения моноширинного шрифта, иначе все усилия бесполезны.
Можно так-же ориентироваться на размер поля "account_num" используемого в рекордсете.
Но лучше установку ширины столбца "отдать на откуп" пользователю, сохраняя после окончания работы заданные пользователем размеры, и устанавливая их при загрузке, если сохраненный размер находится в пределах допустимого диапазона, иначе значение По умолчанию.

Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка содержимого txt в ListView foxes Общие вопросы Delphi 6 27.04.2011 00:07
Установить ширину столбца. Elden Microsoft Office Excel 4 10.11.2009 15:07
StringGrid: выравнивание содержимого столбца по правому краю Art_ Компоненты Delphi 2 06.05.2009 17:30
Загрузка содержимого txt в ListView Rendll Компоненты Delphi 2 26.03.2009 11:04
как осуществить доступ к размеру картинки? Dr_Elvis Общие вопросы C/C++ 1 16.06.2008 17:19