Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Прыгает окно при изменении высоты (число прочтений - 4706 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #15 - 19. Февраля 2019 :: 12:59
Печать  
АЛьФ писал(а) 19. Февраля 2019 :: 12:02:
Координаты в расширении формы зависят от места вызова (создано ли уже окно и какой момент создания).


А в чем будет разница?
Что расширение формы покажет, в следующих случаях:
- в модуле формы
- в процедуре "ПриОткрытии"
- в произвольной процедуре в уже открытой форме?

  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #16 - 19. Февраля 2019 :: 13:01
Печать  
АЛьФ писал(а) 19. Февраля 2019 :: 12:02:
Координаты в расширении формы зависят от места вызова (создано ли уже окно и какой момент создания).


Я в приведенном примере вызывал обе функции определения координат ("РасширениеФормы" и "Окна") в уже открытой форме в процедуре по нажатию кнопки.
То есть окно уже создано и отображено на экране.
И разница есть! Почему?



  
Наверх
ICQ  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Прыгает окно при изменении высоты
Ответ #17 - 19. Февраля 2019 :: 14:13
Печать  
Потому!
Потому что размер окна не равен клиентской области окна Подмигивание
https://docs.microsoft.com/ru-ru/cpp/mfc/frame-windows?view=vs-2017
  
Наверх
www  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #18 - 19. Февраля 2019 :: 15:04
Печать  
Djelf писал(а) 19. Февраля 2019 :: 14:13:
Потому!
Потому что размер окна не равен клиентской области окна Подмигивание
https://docs.microsoft.com/ru-ru/cpp/mfc/frame-windows?view=vs-2017


Это понятно.
А какой из объектов ("РасширениеФормы" или "Окна") работает с клиентской частью формы?
В документации вроде ничего об этом не написано.

Я ожидал, что оба этих объекта работают именно с формой в целом, а не с внутренней частью.

  
Наверх
ICQ  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 631
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Прыгает окно при изменении высоты
Ответ #19 - 19. Февраля 2019 :: 15:51
Печать  
es3000 писал(а) 19. Февраля 2019 :: 15:04:
Я ожидал, что оба этих объекта работают именно с формой в целом, а не с внутренней частью.

И как бы ты тогда позиционировал АтрибутФормы относительно Окна, а не самой Формы? Если он позиционируется относительно Формы, а не Окна?
На Окне может быть панель инструментов и вкладки, а их можно включать/выключать. И? Будешь все эти сдвиги вычислять в 1С?

  
Наверх
www  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #20 - 19. Февраля 2019 :: 18:02
Печать  
Djelf писал(а) 19. Февраля 2019 :: 15:51:
И как бы ты тогда позиционировал АтрибутФормы относительно Окна, а не самой Формы? Если он позиционируется относительно Формы, а не Окна?
На Окне может быть панель инструментов и вкладки, а их можно включать/выключать. И? Будешь все эти сдвиги вычислять в 1С?

Понятно.
Значит, "Расширение формы" работает с внутренней частью формы.

  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #21 - 19. Февраля 2019 :: 18:04
Печать  
А можно ли сделать так, чтобы уменьшить высоту формы до ее отображения на экране?
Пробовал в методе "ПриОткрытии" - не срабатывает.
Есть какой-нибудь способ?
  
Наверх
ICQ  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Прыгает окно при изменении высоты
Ответ #22 - 19. Февраля 2019 :: 18:16
Печать  
es3000 писал(а) 19. Февраля 2019 :: 18:04:
А можно ли сделать так, чтобы уменьшить высоту формы до ее отображения на экране?
Пробовал в методе "ПриОткрытии" - не срабатывает.
Есть какой-нибудь способ?



Иногда помогает:
Код (C++)
Выбрать все
var РасшФормы,Window ;

--
procedure ПриОткрытии()
	...
	РасшФормы=СоздатьОбъект("РасширениеФормы");
	РасшФормы.УстановитьФорму(Форма);
	РасшФормы.Прозрачность=0;

	_Форма=СоздатьОбъект("Форма");
	_Форма.УстановитьФорму(Форма);

endprocedure // ПриОткрытии()

--
procedure ФормаПриСоздании(_Форма)
	...
	Window = СоздатьОбъект("Окна");
	//Window.WindowsStyle(Форма,1);
	Window.WindowsSize(Форма,Форма.Параметр.Ширина,Форма.Параметр.Высота;
	...
endprocedure // ФормаПриСоздании()

--
procedure ПослеОткрытия()
	...
	Window.WindowsPos(Форма,Форма.Параметр.X,Форма.Параметр.Y);
	РасшФормы.Прозрачность=255;
	...
endprocedure // ПослеОткрытия()
 

  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #23 - 19. Февраля 2019 :: 18:41
Печать  
Сработало, Спасибо!

А что за объект "Форма"?
Для чего эти две строки:
Код (C++)
Выбрать все
_Форма=СоздатьОбъект("Форма");
_Форма.УстановитьФорму(Форма);
 


  
Наверх
ICQ  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 247
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Прыгает окно при изменении высоты
Ответ #24 - 19. Февраля 2019 :: 19:06
Печать  
ФормаПриСоздании() без них не срабатывает.
  
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #25 - 20. Февраля 2019 :: 11:58
Печать  
Еще вопрос.
У выводимого модального окна в конфигураторе включен флажок "Изменять размер".
Однако, когда окно отображено, его размер не меняется.
Можно сделать, чтобы менялся размер окна?
« Последняя редакция: 20. Февраля 2019 :: 17:54 - es3000 »  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Прыгает окно при изменении высоты
Ответ #26 - 21. Февраля 2019 :: 11:14
Печать  
Получается, размер окна "растягивать" нельзя?
  
Наверх
ICQ  
IP записан
 
RomanTerra
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 10
Зарегистрирован: 21. Августа 2018
Пол: Мужской
Re: Прыгает окно при изменении высоты
Ответ #27 - 26. Февраля 2019 :: 08:20
Печать  
на FormEx 2.0.5.142 наблюдаю вот такой баг:

если из модального окна открыть еще одно модальное окно
ОткрытьФормуМодально("Обработка.ХХХ",Конт)

то верхняя его часть "уезжает" за пределы рабочей области главного окна 1С

приходится второе модальное окно ПослеОткрытия() дополнительно центрировать
Окна.ЦентрироватьОкно(Форма)

не критично конечно, но на 2.0.5.141 такого не было
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать