|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
Form.init: This.label21.Caption=stroka1 This.label22.Caption=stroka2 This.label23.Caption=stroka3 This.label24.Caption=stroka4 This.label25.Caption=stroka5 This.label21.Refresh rs=this.Width-this.container1.Left-this.container1.Width maxw=MAX(This.label21.Width, This.label22.Width,This.label23.Width,This.label24.Width,This.label25.Width) WAIT WINDOW STR(This.label21.width)+' - '+STR(maxw) This.width=This.label21.Left+maxw+rs Wait пишет 41-41, а при нажатии кнопки на форме wait wind str(Thisform.label21.width) пишет 173. Как бы правильно определить ширину label'ов? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 11:25 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
glamisWait пишет 41-41, а при нажатии кнопки на форме wait wind str(Thisform.label21.width) пишет 173. Значит за это время ширина меняется. Или в коде дальше или Anchor используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 11:39 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
Dima T, Нет, больше ничего не меняется. В init засылается длинная строка и refresh не отрабатывает. Показывает ширину label до засылки. а кнопка только для того, чтоб показать ширину label. там только один wait... В результате форма получается очень узкая. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 11:44 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
Упс, не правильно понял, не заметил про autosize, не пользуюсь никогда Скорее всего изменение размера происходит позже, при отрисовке формы. Я подобные проблемы порешал таймером. В ините запускается, при сработке (это после инициализации всех объектов формы) происходит все изменения и таймер останавливается. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 12:21 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
Dima T, некрасиво получится - форма отрисуется, а потом дернется - перерисуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 14:01 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
Интервал 1 мс. Дерганий не замечал. Попробуй This.Init() Код: sql 1. 2. 3.
This.ResizeByTimer() Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 15:11 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
glamis, Autosize сработает, только если Visible = истина Код: sql 1. 2. 3. 4.
Если же показать нет возможности/нельзя/рано, то можно сделать класс на базе невизуального Custom c Label внутри для определения размеров строки: http://forum.foxclub.ru/read.php?29,574323,574339#msg-574339 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2013, 15:39 |
|
Определить label.width при autosize
|
|||
---|---|---|---|
#18+
Положил на форму такой метод: LPARAMETERS oLabel WITH this .FontName=oLabel.FontName .FontSize=olabel.FontSize .FontBold=olabel.FontBold .FontItalic=oLabel.FontItalic .FontStrikethru=oLabel.FontStrikethru .FontUnderline=oLabel.FontUnderline ENDWITH RETURN This.TextWidth(oLabel.caption+' ') и вроде все получилось. Хотел прописать Textwidth: ... retu dodefault(olabel.caption) дает ошибку - пишет не строка. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2013, 13:15 |
|
|
start [/forum/topic.php?fid=41&msg=38448111&tid=1582864]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
388ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 513ms |
0 / 0 |