Тема: Выравнивание элементов списка

Люди добрые, подскажите, как задать выравнивание
СОДЕРЖИМОМУ (т.е. строкам, передаваемым в) "list_box" по правому краю этого самого "list_box".
Выравнивание самого "list_box" у меня получается, но вот строки в "list_box" - не слушаются...
Что здесь нужно (или что не так) ? :

            : list_box {
                key = "d_";
                width = 16;
                height = 30;
                alignment = right;
            }

Re: Выравнивание элементов списка

alignment = right;

это выравнивание самого list_box в Вашей структуре, а для  выравнивания текста служат атрибуты табуляции - tabs

Re: Выравнивание элементов списка

А разве TABS не для разбития текста в окне на колонки ?
Типа :

  tabs = "2 10";

где     в 1колонке-2символа
          в 2колонке-10символов]

Re: Выравнивание элементов списка

Меня интересует выравнивание не какой-либо колонки (у меня текстовая строка не разбивается, а печатается целиком - и в одну строку в окне  list_box), а всей строки по левому краю,
чтобы лучше читался (воспринимался) список типа
3                      3
6                      6
12                   12
25                   25
31        ->        31
50                   50
100                100
250                250
1150             1150

Re: Выравнивание элементов списка

Да, красивый пример, наглядный....
Лучше так (где вместо "_" следует читать " "/пробелы):
3__________3
6__________6
12________12
25________25
31___->___31
50________50
100______100
250______250
1150____1150

Re: Выравнивание элементов списка

Иннокентий пишет:

А разве TABS не для разбития текста в окне на колонки ?

Именно, только 2 и 10 это начало следующих колонок...
Так, а порусски сможете задачу описать?  Я ничего не понял в сумбуре....
Попытаюсь предположить. У вас есть строки типа "33" и вам нужно чтобы числа 3 и 3 выравнивались по левой и правой стороне list_box? Как бы раздвигались по ширине...?
Если так, то именно через табуляцию. Только нужно написать функцию, которая будет проверять количество символов в строке и соответствующим образом вставлять выравнивание в итоговую строку для отображения.
Я думаю так.

Re: Выравнивание элементов списка

> Стас
В каждую строку list_box будет вставляться одна строка из некоего списка, причем не разорванная строка (типа
"33" ->  "3"  "3"), а целиком, т.е "33" - но по правому краю list_box. Это все равно как все строки в документе MS-Word,
но выравненные по правому краю листа....
Пример, приведенный ранее как раз и отображает желаемое
(где под знаками "_" подразумеваются пробелы " "):
ТАК ЕСТЬ           ТАК  НАДО
3__________________3
6__________________6
12________________12
25________________25
31_______->_______31
50________________50
100______________100
250______________250
1150____________1150
Меня интересует, как можно еще, кроме наращивания пробелов спереди (слева) к каждой строке, передаваемой в list_box, выравнять эту каждую строку по правому краю....
+----------+
|          3 |
|          6 |
|        12 |
|        25 |
|        31 |
|        50 |
|      100 |
|      250 |
|    1150 |       <- list_box
+---------+

Re: Выравнивание элементов списка

Вот гадость, съедает пробелы, и в результате - корявое и непонятное окно в качестве примера. Придется опять использовать вместо пробелов для показа примера знаки "_"
+---------+
|_____3 |
|_____6 |
|____12 |
|____25 |
|____31 |
|____50 |
|___100 |
|___250 |
|__1150 | <- list_box
+---------+

Re: Выравнивание элементов списка

Насколько я знаю стандартными методами такое выравнивание невозможно.
Только сейчас врубился в суть задачи. :)

Re: Выравнивание элементов списка

Спасибо.
Жалко, конечно.
Ведь в списке могут попадаться и не целые числа, тогда такой список плохо читаемый и плохо воспринимаемый :
1
1.5
3
5.5
6
12
25
31.5
32
87.5
50
100
145.5
250
1150

Re: Выравнивание элементов списка

При помощи табуляции и функции обработки строк это поправимо.

Re: Выравнивание элементов списка

Спасибо.