PDA

Просмотр полной версии : "Резиновое" динамическое поле


seller
01.08.2003, 23:14
Чтото никак не получается в МХ создать динамическое поле так, чтобы его размер автоматически подгонялся под значение его переменной. Вроде в 5 получалось путем двойного клика по квадратику рамки поля, а здеся не работает :(

Igor Ageyev
03.08.2003, 00:37
1) Узнаешь длину строки с помощью свойства length
2) Полученную цифру умножаешь на ширину символа с межбуквенным промежутком (в пикселах)
3) Присваиваешь полученное значение свойству текстового поля _width

Если же ты имеешь ввиду изменение ширины текстового поля вручную, то двойной щелчек работает одинаково как в 5ке так и в МХ -> в правом нижнем углу текстового поля появляется box для изменения ширины поля :D :D :D

seller
03.08.2003, 03:58
Оригинал написал(а) Igor Ageyev
1) Узнаешь длину строки с помощью свойства length
2) Полученную цифру умножаешь на ширину символа с межбуквенным промежутком (в пикселах)
3) Присваиваешь полученное значение свойству текстового поля _width

Если же ты имеешь ввиду изменение ширины текстового поля вручную, то двойной щелчек работает одинаково как в 5ке так и в МХ -> в правом нижнем углу текстового поля появляется box для изменения ширины поля :D :D :D

Программным путем - нет проблем. В пятом у меня поле само растягивалось, без всяких вычислений. Присваиваешь переменной нужный текст и все. Только до этого нужно по квадратику рамки кликнуть два раза, чтобы он превратился в кружочек. А в МХ этот фокус не прокатывает. А шрифты бывают и не пропорциональные... Как вычислить их ширину?

Igor Ageyev
03.08.2003, 22:04
Можно брать ширину наибольшего символа :)
Точность в этом деле не нужна.

А еще лучше поле делать заранее большим :)

seller
04.08.2003, 12:48
Ура!!! Нашел!!! Все оказалось проще пареной репы. У текстового поля есть свойство autoSize. Достаточно присвоить ему значение true и оно растянется или сожмется по размеру текста... :D

Diomas
04.08.2003, 23:24
Мораль: читайте хелп.