|
[quote author=varelchik link=1208157137/0#0 date=1208157137]Странное поведение: Смысл в следующем: 1.Открываем форму срабатывает 2 раза 2.Разворачиваем на всеь Экран срабытывает 4 раза 3.Дальше что бы с фориой не делали вообще не срабатывает! [/quote]
А у меня проблема такая. Во всех документах сделал кнопки "ОК", "Закрыть" и т.п. в правом углу и при изменении окна их двигаю с привязкой к правому углу. [code] Процедура ПриИзмененииРазмераОкна(ТипСобытия,Ширина,Высота) Перем ЛевоАтр,ШиринаАтр,ЛевоАтрКн,ШиринаАтрКн;
Атр1 = СоздатьОбъект("АтрибутФормы"); Атр1.УстановитьАтрибут(Форма,"МногострочнаяЧасть"); Атр1.ПолучитьКоординаты(ЛевоАтр,,ШиринаАтр,);
Атр2 = СоздатьОбъект("АтрибутФормы"); Атр2.УстановитьАтрибут(Форма,"КнЗакрыть"); Атр2.ПолучитьКоординаты(,,ШиринаАтрКн); ЛевоАтрКн = ЛевоАтр+ШиринаАтр-ШиринаАтрКн; Атр2.УстановитьКоординаты(ЛевоАтрКн);
Атр2.УстановитьАтрибут(Форма,"КнОК"); Атр2.ПолучитьКоординаты(,,ШиринаАтрКн); ЛевоАтрКн = ЛевоАтрКн-ШиринаАтрКн-3; Атр2.УстановитьКоординаты(ЛевоАтрКн);
Атр2.УстановитьАтрибут(Форма,"КнДействия"); Атр2.ПолучитьКоординаты(,,ШиринаАтрКн); ЛевоАтрКн = ЛевоАтрКн-ШиринаАтрКн-3; Атр2.УстановитьКоординаты(ЛевоАтрКн);
КонецПроцедуры [/code]
Так вот, при открытие формы, процедура [b]ПриИзмененииРазмераОкна[/b] отрабатывает 2 раза не всегда, а только если раннее форма уже открывалась и были изменены размеры этой формы, и они хранятся по всей видимости, где-то в реестре. Первый раз, процедура срабатывает с размерами окна заданными в конфигураторе, во-второй раз, с размерами заданными пользователем. Далее, строка [b]Атр2.ПолучитьКоординаты(,,ШиринаАтрКн)[/b] возвращает в переменную [b]ШиринаАтрКн[/b] разные значения при первом вызове и втором. В первом случае ширина кнопки равна 54, во-втором - 81. Соответственно в первом случае неверно рассчитываются координаты кнопок и они просто не показываются в форме. А отработка процедуры только 1 раз возможна, только если на данном компьютере конфигурация работает впервые, т.е. пользователь еще не открывал документы и не менял их размеры. Представьте изумление пользователей, когда они открывают документ и не знают как же его сохранить. :-)
Версия 2.0.5.85
|