Если в параметрах задать:
Width = 0
AutoSize = True
Alignment = taRight
то по идее она (Label) должна строится влево
от места ее расположения на форме.
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
|
|||
карма: 25 |
|
Ответов: 655
Рейтинг: 0
|
|||
Это почему?, чтобы Label выравнивался слево по форме надо
ставить Align = caLeft А, Alignment = taRight это выравнивание текста в элементе справа. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Наверное я неправильно обьяснил!
Мне нужно чтобы Тексты выравнивались по правому краю не формы, а примерно вот так: [code:1] Строка первая 1 : окно ввода С т р о к а в т о р а я 2 : окно ввода и так далее : окно ввода[/code:1] т.е. Labelки должны быть выровнены по правому краю и надписи в них тоже, причем тексты Лабелек во время работы программы изменяются Сейчас для того чтобы все работало так как надо нужно устанавливать размер Лабелек по самому длинному выражению, что таки довольно неудобно. В этих случаях HiAsm должен формировать лабельку от положения Left влево , а он рисует ее во всех случаях только вправо |
|||
карма: 25 |
|
Ответов: 655
Рейтинг: 0
|
|||
А почему Width только =0 (Этого требует программа?)
Если нет то вот схема где текст пропичатывается в лево: [code:1]Add(Edit,9325490,175,154) { Left=120 Top=35 Width=140 Font=[Arial,8,0,0] Text="Введи текст" link(onChange,5523342:doText,[]) } Add(Label,5523342,231,154) { Left=20 Top=40 Width=100 Font=[Arial,8,0,0] Caption="" AutoSize=1 Alignment=1 } [/code:1] Если я правильно понял 8-) |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Можно и так но при 0-й длинне получается очень красивая анимация строки(если применять цветной фон Лабельки) а так уже светится даже при пустой строку лабелька на всю длинну. В Делфи это есть без проблем! Так что и здесь не помешало бы.
|
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Если Вы знаете как это делать в Дельфи, то что Вам мешает научить этому остальных? Типа сделать такой элемент, или модифицировать существующий. Чтобы всем было счастие.....
|
|||
карма: 9 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
[code:1]Add(MainForm,5692486,42,7)
{
Left=20 Top=105 Font=[Arial,8,0,0] } Add(Label,5704080,161,14) { Left=20 Top=5 Font=[Arial,8,0,12632256] Caption="Это строка для тестирования ! " } Add(Counter,9237250,105,63) { link(onNext,9447658:doCopy,[(152,69)(152,69)]) } Add(Copy,9447658,161,63) { Position=1 link(onCopy,740034:doText,[]) link(Str,5704080:Caption,[]) link(Count,9237250:Count,[(181,53)(261,53)(261,114)(111,114)]) } Add(Label,740034,217,63) { Left=45 Top=40 Width=0 Color=-16777192 Font=[Arial,8,0,0] Caption="" } Add(Timer,14275748,42,63) { Interval=100 link(onTimer,9237250:doNext,[]) } Add(Edit,17831,217,14) { Left=305 Top=35 Font=[Arial,8,0,0] }[/code:1] В этом примере текст появляется слева на право а вот как сделать тоже справа на лево пока не получается. C HiAsmом я знаком с 13 декабря 2004 года поэтому пока в коды не лез. Не думал что этот вопрос получит такой резонанс. Как там у Вас это все читается т.к. я живу в Израиле и у меня комп работает на иврите (когда копировал пример то все перевернулось задом на перед. :lol: :))) |
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
1) А какой резонанс? По-моему, совершенно естественная реакция на:
В Делфи это есть без проблем!
2) Если уж очень хочется, то можно так:
|
|||
карма: 9 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
3) Копировать на форум удобнее не sha-файл, а выделенный фрагмент в поле редактора.
Согласен... но у меня интернет на одном компе (у внука) , а HiAsm на другом и почему-то пока не получается перенести. Переношу на дискете текстовым файлом! Проблема не в том, чтобы заставить строку появляться с правой стороны на левую, а в том что при свойствах Лабельки: Длинна=0( не хочу я чтобы она высвечивалась без текста) Текст = Справа в дельфи это работает. Хотелось бы что бы и здесь работало. Вот и все. Чтобы этого добиться помоему нужно нырнуть в библиотеку ( наверное в KOL). Что это такое и с чем его едят я не знаю - раньше не встречал. Хотелось бы гдето почитать но в Интернете не нахожу. С уважением TAD. |
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Tad
давайте определимся с логической последовательностью событий: 1) Проблема не в ТОМ, чтобы заставить строку появляться с правой стороны на левую
а за каким лешим Вы так долго рассказывали, какого эффекта следует достигнуть, подтверждая это примерами? 2) а в том что при свойствах Лабельки:
Длинна=0( не хочу я чтобы она высвечивалась без текста) Кто же не дает установить св-во Width элемента Label в нуль в вышеприведенном примере? Хотя при AutoSize=True должно быть по барабану..... 3) в дельфи это работает. Хотелось бы что бы и здесь работало.
Неубедительно Надеюсь Вы согласитесь, что соревноваться в том, кто чего и где видел нет резона, поскольку все как у всех сделать невозможно. Но даже если что-то и возможно, то данные затраты требуют более серьезного оправдания, чем наличие чего-то у кого-то (даже и у глубокоуважаемого дяди Бормана). Поэтому, учитывая п.1 настоящего сообщения ( ), следует ответить более основательно на вопрос ЗАЧЕМ |
|||
карма: 9 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Это нужно для того, чтобы пристыковать Лабель к полю ввода
вплотную не рассчитывая длинну строки если она изменяется при работе программы(чтобы конец строки всегда упирался в поле ввода (Edit)) . |
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Повторюсь однако: а разве в вышеприведенном примере не так???
|
|||
карма: 9 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Для разработчика это пара пустяков.
Просто там где формируется Лабель вставит что то вроде If (Label.Width = 0) and (Label.AutoSize = True ) and (Label.Alignment = taRight ) then Label.Left:= Label.Left- Len(Label.Caption); и все вопрос закрыт. А сейчас приходится городить целую программу. А вообще мне HiAsm нравится! Dilma умница!!!!!!!!! |
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Покажите программу, которую приходится ГОРОДИТЬ.
В том примере, который я приводил ровно один элемент, для достижения выше упомянутого качества. Это меньше, чем пара пустяков - это один пустяк. ===================== А разговор этот от того, что не напрягаясь можно перечислить пару десятков таких пару-пустяковых вопросов. И не факт что HiAsm станет понятнее от реализации их всех. Здесь не работает принцип чем больше, тем лучше, ИМХО. Почему бы не ввести лэйбэлку с привязкой за серединку, или вообще не застолбить произвольное математическое выражение. Это, по большому счету тоже пару-пустяковые вопросы. Просто так не очень получается - как-то находятся более важные вопросы (в чем нетрудно убедиться читая форум ), и не очень верится, что расширяя номенклатуру элементов (или свойств элементов) мы делаем HiAsm более доступным для начинающих ----- Хотя это и дискуссионный вопрос. До какой-то степени, вопрос стратегии развития проекта.............. |
|||
карма: 9 |
|
Ответов: 8930
Рейтинг: 823
|
|||
Думается, что это слабовато сказано! Чем больше Вы будете работать с HiAsm, тем сильнее он (HiAsm) будет Вам нравиться.
|
|||
карма: 19 |
|