|
v7: Программное изменение размеров окна формы (внешняя) | ☑ | ||
---|---|---|---|---|
0
Масянька
15.06.16
✎
11:26
|
День добрый!
В ПриОткрытии() - Окна = СоздатьОбъект("Окна"); Процедура ПриИзмененииРазмераОкна(ТипСобытия) Ширина = 556; Высота = 378; Лево = 10; Верх = 40; Если ((ТипСобытия = 0) или (ТипСобытия = 1) или (ТипСобытия = 2)) Тогда Окна.ПоложениеОкна(Форма, Лево, Верх); Окна.РазмерОкна(Форма, Ширина, Высота); КонецЕсли; КонецПроцедуры // ПриИзмененииРазмераОкна Как-то странно работает... При минимизации - сворачивает, при максимизацци - размер не меняется, но пропадают кнопки окна (рядом с крестиком) и положение окна (на экране) изменяется. Если ранее открыто что-то (журнал, док-т и пр.) - они тоже меняют размер. Как сделать, чтобы форма данной обработки не изменяла размер (и свой, и уже открытых). Про модальность - в курсе. Но хотелось бы обойтись без нее. Спасибо. |
|||
1
Масянька
15.06.16
✎
11:54
|
Ап.
|
|||
2
Ёпрст
15.06.16
✎
11:57
|
хз, че тебе надо, так мот ?
Перем гРФорма,СтараяШирина,СтараяВысота,Лево,Верх; //====================================================================== Процедура ПослеСозданияФормы() гРФорма = СоздатьОбъект("РасширениеФормы"); гРФорма.УстановитьФорму(Форма); гРФорма.Максимизирована=0; СтараяШирина = гРФорма.Ширина; СтараяВысота = гРФорма.Высота; Верх = гРФорма.Верх; КонецПроцедуры //====================================================================== Процедура ПриИзмененииРазмераОкна(ТипСобытия,Ширина,Высота) Если ПустоеЗначение(гРФорма)=1 Тогда Возврат; КонецЕсли; Если (Ширина<>СтараяШирина)или(Высота<>СтараяВысота) Тогда гРФорма.Ширина = СтараяШирина; гРФорма.Высота = СтараяВысота; гРФорма.Верх = Верх; гРФорма.Максимизирована=0; КонецЕсли; КонецПроцедуры |
|||
3
Масянька
15.06.16
✎
12:08
|
(2) Форма - арбайтен. Но - если ранее было что-от открыто - у них тоже размер меняется. Не обойти?
|
|||
4
Ёпрст
15.06.16
✎
12:25
|
(3) если максимизируешь форму - то да, максимизируются все окна. Достаточно просто не давать максимизировать окна и усё
|
|||
5
Масянька
15.06.16
✎
12:26
|
(4) У меня открыт журнал (максимизирован). Я открываю обработку. Норм размеры, но и журнал изменяет размеры.
|
|||
6
Ёпрст
15.06.16
✎
12:54
|
(5) так и должно быть. Це не снеговик, где каждое окно может быть отдельно максимизировано. В клюшках при максимизации формы, максимизируются все остальные.
|
|||
7
Ёпрст
15.06.16
✎
12:55
|
Тут, только замена всей формы целиком, на активикс какой-нить или открытие стороннего фрейма, не 1с-ного.
|
|||
8
Масянька
15.06.16
✎
12:56
|
(6) Жаль.
Спасибо огромное! Как всегда :) |
|||
9
vcv
15.06.16
✎
20:03
|
Ну почему же. Извратиться можно и без тяжелой артиллерии типа ActiveX. С помощью ОткрытьПлавающуюФорму из FormEx.
Будет что-то типа https://onedrive.live.com/redir?resid=68C0B174B33F7999!30139&authkey=!AJrlQI2O2GcTwJc&v=3&ithint=photo%2cjpg |
|||
10
Злопчинский
15.06.16
✎
23:57
|
(9) "что бы" - в данном контексте вместе пишется ;-)
|
|||
11
vcv
16.06.16
✎
09:07
|
(10) Да с кем тут вместе писать. Всё один, один... :(
|
|||
12
Масянька
16.06.16
✎
09:09
|
(9) А дай, пожалуйста, пример кода.
|
|||
13
Mikeware
16.06.16
✎
09:20
|
(9) а не падает?
|
|||
14
Mikeware
16.06.16
✎
09:22
|
(12)
оСервис=СоздатьОбъект("Сервис"); оСервис.ОткрытьПлавающуюФорму("Обработка.хз"); |
|||
15
Mikeware
16.06.16
✎
09:23
|
(11) пиши "в месте"... но не пиши, в каком...
|
|||
16
Масянька
16.06.16
✎
09:24
|
(14) Туплю... И где и как тогда открывать обработку?
|
|||
17
Mikeware
16.06.16
✎
09:27
|
(16) там, где нужно - там и открывай...
|
|||
18
Масянька
16.06.16
✎
09:29
|
(17) У меня (в данном случае) - из меню.
|
|||
19
Mikeware
16.06.16
✎
09:30
|
(18) ну значит из меню вызови функцию, которая откроет эту форму.
|
|||
20
Масянька
16.06.16
✎
09:30
|
(19) Блин... Туплю...
Спасибо. |
|||
21
Масянька
16.06.16
✎
09:32
|
(19) Еще один маленький вопрос - функция в глобальнике?
|
|||
22
oslokot
16.06.16
✎
09:37
|
Неужто допилили-таки плавающие формы в формексах.
Помнится рушилось все это добро |
|||
23
Ёпрст
16.06.16
✎
09:39
|
Не надо использовать плавающую форму, падает она + утечка памяти.
|
|||
24
Масянька
16.06.16
✎
09:41
|
Скажите мне, как в меню запихнуть функцию?
|
|||
25
Масянька
16.06.16
✎
09:50
|
А не арбайтен...
Функция глАктСверки() оСервис = СоздатьОбъект("Сервис"); оСервис.ОткрытьПлавающуюФорму(КаталогИБ() + "\Dopolnitelno\АктСверкиВзаиморасчетов.ert"); КонецФункции // глАктСверки А так - арбайтен: Функция глАктСверки() ОткрытьФорму("Отчет",,КаталогИБ() + "\Dopolnitelno\АктСверкиВзаиморасчетов.ert") КонецФункции // глАктСверки |
|||
26
Ёпрст
16.06.16
✎
09:53
|
(25)
да уж оСервис.ОткрытьПлавающуюФорму("Отчет",,КаталогИБ() + "\Dopolnitelno\АктСверкиВзаиморасчетов.ert"); |
|||
27
Масянька
16.06.16
✎
09:58
|
(26) Чего - "да уж"?
Как Майк написал, так я и скопировала... А в СП - нету. |
|||
28
Масянька
16.06.16
✎
10:01
|
(26) Всё равно - фигня.
Не открывает. В ПриОткрытии (в обработке) заходит только один раз (первый). Потом - не заходит. |
|||
29
Ёпрст
16.06.16
✎
10:12
|
(27) Чего в СП нету ?
ОткрытьПлавающуюФорму() OpenToolsForm() Назначение: Метод позволяет открыть форму в виде "плавающего" окна. Форма подобна модальной форме, но при ее открытии работа в главном окне не блокируется. ОПИСАНИЕ: Параметры метода аналогичны параметрам штатного метода ОткрытьФорму() |
|||
30
Mikeware
16.06.16
✎
10:35
|
(28) а ПриПовторномОткрытии() ?
|
|||
31
Mikeware
16.06.16
✎
10:36
|
(27) ты неправильно скопировала.
|
|||
32
Mikeware
16.06.16
✎
10:36
|
(27) тебе продать СП?
|
|||
33
varelchik
16.06.16
✎
16:27
|
(22)нет не допилил Леха его.
Да и вообще сам не советовал ею пользоваться. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |