Имя: Пароль:
1C
1С v8
Программно развернуть на весь экран окно УФ, откр.в режиме "блокировать весь интерфейс"
0 Тихий омут
 
22.11.17
10:00
Как программно развернуть на весь экран окно управляемой формы, открытое в режиме "блокировать весь интерфейс"?

этот скрипт вызывает рантайм (8.3.6.2152, win10)
WSHShell = Новый COMОбъект("WScript.Shell");
WSHShell.SendKeys("%{GRAY-}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}");    
    
этот вообще не работает - ничего не происходит
    WSHShell = Новый COMОбъект("WScript.Shell");
    WSHShell.SendKeys("%");
    WSHShell.SendKeys("{LEFT}{LEFT}{ENTER}");
1 Denis_CFO
 
22.11.17
10:07
(0) Вот так попробуй:
ПараметрыЭкрана = ПолучитьИнформациюЭкрановКлиента();
ЭтаФорма.Ширина = ПараметрыЭкрана[0].Ширина;
ЭтаФорма.Высота = ПараметрыЭкрана[0].Высота;
2 Тихий омут
 
22.11.17
10:25
(1) Увы, не работает. Возможно, это связано с тем, что в параметрах экрана ширина и высота в пикселях, а в свойствах формы - в неких "символах":

УправляемаяФорма (ManagedForm)
Ширина (Width)
Использование:

Чтение и запись.
Описание:

Тип: Число.
Содержит ширину формы. Задается в символах.  
(с) СП

Справедливости ради - на что-то это влияет, а именно на соотношение размеров элементов в форме, но размер самой формы не меняется
3 Denis_CFO
 
22.11.17
10:38
(2) У Камина в Общепите вот такое встречал:
&НаКлиенте
Процедура РазвернутьОкноНаВесьЭкран()
    Попытка
    WSHShell = Новый COMОбъект("WScript.Shell");
    WSHShell.SendKeys("% ");
    WSHShell.SendKeys("{UP}{UP}{ENTER}");
    Исключение
    КонецПопытки;
КонецПроцедуры
4 Тихий омут
 
22.11.17
10:51
(3) Тоже не работает. За помощь огромное спасибо - нужно хотя бы перепробовать всё, что можно.
5 _Дайвер_
 
22.11.17
11:01
Так а в параметрах формы указать не вариант ? И ширину с высотой п омаксимуму установить.
6 _Дайвер_
 
22.11.17
11:02
(5) РежимОткрытияОкна = Блокировать интерфейс пользователя
7 _Дайвер_
 
22.11.17
11:03
(6) ЭтаФорма.РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;
ЭтаФорма.Ширина = ;
ЭтаФорма.Высота = ;
8 _Дайвер_
 
22.11.17
11:07
(7) ЗАменишь на БлокироватьВесьИнтерфейс, и из параметров экрана вставишь значения высоты и ширины
9 Тихий омут
 
22.11.17
12:46
(8) Так именно и делаю; форма открывается в режиме "Блокировать весь интерфейс", выставляю ширину/высоту формы в ПриОткрытии как советовал (1), результат см. в (2). Даже на всякий случай сделал в ПриОткрытии однократный вызов обработчика ожидания, в котором пробовал все эти манипуляции - ничего не помогает.
PS Назвать управляемым этот интерфейс - это какое-то утонченное издевательство...ладно, это эмоции...
10 Denis_CFO
 
22.11.17
13:04
(9) Я это ПриСозданииНаСервере() у себя делал...
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.