Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2

Как управлять шириной колонок в ComboBox?

11.01.2016, 10:28. Показов 6983. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В Combobox установлено некоторое количество колонок,скажем 4.
По мере наполнения Combobox добавляются данные, длина которых различается от 1 до 56 символов.
Visual Basic
1
2
3
4
5
6
например:
 
колонка 1 колонка 2     колонка 3       колонка 4
12        fsdgghsgfh    hshsfghgfhsfgh  czczc
1245      werw          zzxvxzcvzx      cvxcvbzbbzbzb
123       sdfgshsh      cvv             vxcvxvcb
При выполнении хвосты слишком длинных данных перекрываются данными следующей колонки. если данные короткие - остается слишком много пустого места. В итоге неряшливо выглядит лист комбобокса.
Как автоматически отследить максимально требуемую ширину колонки в зависимости от максимально длинного значения в колонке и задать это значение для данного сеанса работы со сведениями?

Добавлено через 32 минуты
сейчас попытался сотворить тупенький способ оценки длины каждого вносимого значения и установки ширины колонок постфактум вноса данных в лист комбобокса - так. чтобы ширина колонок была плавающей в зависимости от максимальной ширины данного в колонке
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim w01, w02, w03, w04 ' это переменные ширины каждой колонки
    With Me.comboBx1Int ' это объект ComboBox
         .Clear
        For i = 0 To UBound(numstr)
            .AddItem numstr(i)
            If Len(numstr(i)) > w01 Then w01 = Len(numstr(i))
            .List(.ListCount - 1, 1) = MaxMas2(numstr(i), 1)
            If Len(MaxMas2(numstr(i), 1)) > w02 Then w02 = Len(MaxMas2(numstr(i), 1))
            .List(.ListCount - 1, 2) = MaxMas2(numstr(i), 2)
            If Len(MaxMas2(numstr(i), 2)) > w03 Then w03 = Len(MaxMas2(numstr(i), 2))
            .List(.ListCount - 1, 3) = MaxMas2(numstr(i), 3)
            If Len(MaxMas2(numstr(i), 3)) > w04 Then w04 = Len(MaxMas2(numstr(i), 3))
        Next i
    End With
Me.comboBx1Int.ColumnWidths = w01 + 1 & " pt;" & w02 + 1 & " pt;" & w03 + 1 & " pt;" & w04 + 1 & " pt"
Но ширина колонок оказалась не установленной нормально. Данных не видно

Добавлено через 9 минут
от жеж я дун... не ругацо! Это же пункты!!! А я буквы посчитал)))
Вопрос сколько пунктов на одну букву в среднем приходится?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.01.2016, 10:28
Ответы с готовыми решениями:

Управлять шириной колонок таблицы Word из Excel
Таблица в документе Word создана. Содержит 17 колонок Первая должна быть шириной 150 пт Остальные 24 пт Как задать ширину...

Как управлять шириной столбца dbgrid?
void __fastcall TForm1::ComboBox1Change(TObject *Sender) { ADOQuery1->SQL->Add(":Tool"); ADOQuery1->SQL->Add(":Prod"); ...

Автогенерация DataGrid + ручная вставка, как управлять порядком следования колонок
Есть DataGrid AutoGenerateColumns="True" привязанный к коллекции порядок следования задан через атрибут Display(Order=n), в том же гриде...

20
 Аватар для AndreA SN
1021 / 125 / 2
Регистрация: 26.08.2011
Сообщений: 1,219
Записей в блоге: 2
26.01.2016, 07:51  [ТС]
Студворк — интернет-сервис помощи студентам
Напишите короткий, или вовсе обойдитесь без него. Мы будем благодарны за решение, позволяющее рассчитать длину текста в компьютерных пикселях без применения Autosize. Не принимайте это пожелание на свой счет. Есть задача - обойтись без текстбоксов лабелей и прочего. Решите - буду признателен. Мне решилось так. Пока вынужден пользоваться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.01.2016, 07:51

Непонятки с шириной колонок у StringGrid
Здравствуйте еще раз) Перелез с Delphi 7 на Delphi 10 Seattle и никак не могу понять как сделать так, что бы стринг грид сохраняла ширину...

Нужно В 7-ке Управлять Положением Колонок
Возникла небольшая задачка. Один клиент попросил расположить колонки в большом документе "Расчетная ведомость" в 2 строки. Т.е....

Напишите матрицу с 0 и 1, размером 6х5 с нижней шириной ленты 1 и верхней шириной ленты 2
Напишите плз матрицу с 0 и 1, размером 6х5 с нижней шириной ленты 1 и верхней шириной ленты 2 если еще к этому напишите ее частные...

Почему img с шириной 900px не заполняет окно шириной 900px
почему получается такая ситуация <body> <div id="header"> <div id="logo"><a href="#">Ляляхи</a></div> ...

как зделать сайт шириной 1024 px
Здравствуйте! У меня такая проблема: я зделал сайт шириной 920 px, а теперь хочу сделать его шириной 1024 px. Шаблон с joomla 1.5. Как мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru