![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.03.2009
Сообщений: 253
|
![]()
Подскажите, как можно сделать выравнивание значений по центру в стролбцах листбокса?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте ruavia3.
листбокс (ListBox) - это тип элементов управления, на форме может быть использован любой зарегистрированный в системе контрол (любого производителя), если "стандартный" не дает возможности в свойствах задавать выравнивание, можно попытаться найти другой у которого есть такая возможность, например применяющаяся в MS Excel библиотека Microsoft Forms 2.0, позволяет изменять у своих ListBox'ов свойство TextAlign.... И как вариант применение моноширинного шрифта для "стандартного" контрола с "выравниванием" текста дополнительными пробелами. Варианты существуют, решать Вам. Евгений. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.03.2009
Сообщений: 253
|
![]()
Евгений, спасибо.
Cтандарный элемент ListBox (Access 2003) я размещаю на форме. В качестве RowSorce я использую Query, в котором значения ячеек стоят без пробелов. По поводу TextAlign я знаю, но как это мне может помочь в Access? |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
"TextAlign...как...может помочь..." если Вы не используете ListBox Microsoft Forms 2.0 или подобный поддерживающий это свойство - никак.
"Cтандарный...ListBox..." - установите моноширинный шрифт, например Courier, далее подключив строку максимальной длины, сосчитайте кол-во символов отображаемое в строке списка. Полученное число делим на 2 получаем iHalf, это константа номер символа в центре строки, далее в расчете на то, что MS Access понимает SQL запросы с интегрированными VBA функциями, можно соорудить подобную конструкцию: select Space(iHalf - Len(F1) / 2) & F1.... доработанный таким образом Ваш Query будет отображать поле F1 дополненное лидирующими пробелами, тем самым "сдвигая" текст к центру - что и требовалось. примерно так. Евгений. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 13.03.2009
Сообщений: 253
|
![]()
а где прописывать подобную конструкцию?
p.s. я правильно понимаю, что пробелы будут проставлены только на поле листбокса, а не в самом Query? |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте ruavia3.
"...пробелы будут...на поле листбокса,.. не в...Query?" - не верно, список заполняется данными сформированными источником (запросом), следовательно он (запрос) должен предоставлять их в требуемом виде (с дополнением лидирующими пробелами) Для этого я и предлагал "подкорректировать" конструкцию источника: select Space(iHalf - Len(F1) / 2) & F1.... где iHalf - числовое значение, порядковый номер центрального символа в строке ListBox'а. F1 - имя поля из данных которого в Вашей конструкции формируется список. Евгений. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заголовки по центру | doniyor | БД в Delphi | 7 | 18.08.2009 08:21 |
Выравнивание по центру ячейки в Excel | Абдуллаев Рустам | БД в Delphi | 3 | 09.05.2009 23:17 |
фрактал по центру image | Сергей089 | Помощь студентам | 0 | 04.05.2009 21:59 |
Форма по центру | Shouldercannon | Общие вопросы Delphi | 11 | 26.11.2008 13:40 |
выравнивание по центру в QuickReport | Vasya | БД в Delphi | 3 | 18.08.2007 20:43 |