Имя: Пароль:
1C
 
Как вычислить ширину элемента Панель
0 YHVVH
 
12.07.11
16:29
На форме располагается элемент управления панель(со страницами)

надо узнать ширину панели - это свойства элемента ширина.
но данная ширина - это ширина всей панели.
Каким образом можно узнать ширину "свободной области".

Более подробно что нужно узнать показал здесь
http://s008.radikal.ru/i306/1107/33/7ab4ee80b9c3.jpg
1 lxs
 
12.07.11
16:33
Страница?
2 YHVVH
 
12.07.11
16:35
+(0) возможно можно решить проблему по другому.
Создаю программно табличное поле на странице, хочу чтоб размеры были во всю страницу.
Лево=Верх=0;
Высота=Панель.высота;
а вот с шириной не знаю что делать.
(1) не понял вопроса.
3 sash-ml
 
12.07.11
16:36
Может
ЭлементыФормы.Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>)
ПоместитьНа - указать панель, таким образом получить координату левой границы доступной области
4 Лефмихалыч
 
12.07.11
16:36
(0) анакойхер?
5 YHVVH
 
12.07.11
16:37
(4) (2)
6 Лефмихалыч
 
12.07.11
16:37
(5) а привязки программно создавать какая религия мешает?
7 YHVVH
 
12.07.11
16:38
+(2) по сколько название страниц может быть и коротким и длинным. то ширина "свободной области" меняется.
8 Лефмихалыч
 
12.07.11
16:39
Еще можно выключить РаспределятьПоСтраницам и создать в конфигураторе одно табличное поле, а кодом уже ему источник данных менять и кастовать СоздатьКолонки()
9 YHVVH
 
12.07.11
16:40
(6) привязки я создал. но ширину то надо задать первоначальную относительно которой будут работать привязки.
Если я делал бы не программно, а ручками то все хорошо было бы.
10 Лефмихалыч
 
12.07.11
16:42
(9) так и делай ручками, что мешает-то?
11 YHVVH
 
12.07.11
16:43
(8) ну как вариант да. но количество и вид объектов на страницах возможно будет разный (не только табличное поле). Хотелось бы все таки узнать ширину.
12 YHVVH
 
12.07.11
16:47
(10) ручками не вариант, объекты на форме динамически формируются.
13 Лефмихалыч
 
12.07.11
16:47
Уговорил

Ширина (Width)
Расширение элементов управления, расположенных на панели
Ширина (Width)
Использование:
Чтение и запись.
Описание:
Тип: Число. Содержит ширину элемента управления (в логических единицах).
Недоступно на сервере 1С:Предприятие. Не используется в модуле внешнего соединения.
Примечание:
При установке поля ввода или табличного поля в качестве владельца формы, свойство становится недоступно.
14 YHVVH
 
12.07.11
16:49
так вопрос в том как узнать нужную мне ширину.
15 Лефмихалыч
 
12.07.11
16:50
у панели тоже есть это свойство, просто о нем в СП ни слова не сказано
16 Лефмихалыч
 
12.07.11
16:50
Сообщить(ЭлементыФормы.ИмяПанели.Ширина);
17 Лефмихалыч
 
12.07.11
16:51
а, ты за минусом длины закладок хочешь? ну, помести на одну панель другую панель да и не парься
18 YHVVH
 
12.07.11
16:51
(17) да, на картинки же показал.
19 Лефмихалыч
 
12.07.11
16:52
(18) вторая панель тебя спасет
20 YHVVH
 
12.07.11
16:52
(19) это как?
21 Mort
 
12.07.11
16:54
Обрезай заголо...
22 Лефмихалыч
 
12.07.11
16:55
песецдашозаденьто!111
http://screencast.com/t/2uY2clk8
23 YHVVH
 
12.07.11
16:58
(22) копнем глубже ,а представь что сама основная панель создается программно и закладки на ней тоже создаются программно.
на картинке в (0) я показал результат уже. в конфигураторе пустая форма.
24 YHVVH
 
12.07.11
16:59
(22) не ругайся.
25 Лефмихалыч
 
12.07.11
16:59
(23) и что помешает программно на одну панель положить вторую?
26 YHVVH
 
12.07.11
17:03
(25)не мешает ничего. но опять же ширину какую я задам ей?
в видео ролики ты ручками тащишь и задаешь ширину.
27 sash-ml
 
12.07.11
17:12
а если ширину задать больше допустимой может от он 1с-ка сама обрежет до допустимой, или эксепш выдаст
28 YHVVH
 
12.07.11
17:13
(27) прокрутка будет.не обрежет.
29 sash-ml
 
12.07.11
17:14
(28) это эсли не "использовать только видимую область" или вообще
30 Mickeleangelo
 
12.07.11
17:20
Если основную панель не создавать программно, то на ней можно сделать первую невидимую страницу, на которой будет растянутый через привязки на всю ширину элемент.
31 Лефмихалыч
 
12.07.11
17:24
(30) это я уже предлагал, решателю сферических задач в вакууме эта простая метода не подходит
32 YHVVH
 
12.07.11
17:26
все решил, спасибо всем

вообщем решила так

Панелька.ОтображениеЗакладок = ОтображениеЗакладок.НеИспользовать;

отключаю закладки

устанавливаю размеры нужного элемента и ПРИВЗЯКИ по ширине

а потом включаю закладки

Панелька.ОтображениеЗакладок = ОтображениеЗакладок.СлеваГоризонтально;
33 Лефмихалыч
 
12.07.11
17:27
а ларчик просто открывался
34 YHVVH
 
12.07.11
17:28
(33) угу :-)