Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Очень популярная тема (более 25 ответов) ПриИзмененииРазмераОкна(Тип,Ширина,Высота) (число прочтений - 12977 )
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #15 - 15. Апреля 2008 :: 06:19
Печать  
Вся инфо отражена в багзиле.
ждем решений.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #16 - 15. Апреля 2008 :: 06:25
Печать  
varelchik писал(а) 14. Апреля 2008 :: 20:31:
Если это табло не закрывать когда Форма Максимизорованна то процедура работает нормально.


Ишь ты как все закручено. Да, действительно, баг на лицо.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #17 - 15. Апреля 2008 :: 06:52
Печать  
А вы что думали уважаемый?
Я правда еще на 1.8.1.6 негонял и на 2.0.0.0.
но так думаю что это и тама есть.
Резельтат:
1С++ вер 1.7.2.0
тоже самое.

Ну я так думаю фатит.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #18 - 15. Апреля 2008 :: 08:06
Печать  
Значиться так.
Процедура ТАКИ работает.
НО!
По совету Trad попробовал выводить данные не только в Сообщить() но и на Форму.
Форма таки регистрирует что процедура работает.
Вся проблема оказувается в табло.
Если его закрыть при максимизированной форме то оно потом не выводиться.
Зато после того как эту форму закрыть и открыть любую другую то все что было накоплено в табло(когда оно не отображалось) будет выведено на экран.
Я так думаю что просто надо с табло разобраться, почему оно перестает выводиться.

Тест вовложении.
  

1Cv7_004.rar ( 5 KB | Загрузки )
Наверх
 
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #19 - 15. Апреля 2008 :: 08:11
Печать  
Цитата:
Вся проблема оказувается в табло.

Не сбивай с толку. Табло это совсем другое.
А у тебя Окно сообщений.
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #20 - 15. Апреля 2008 :: 08:17
Печать  
Ладно согласен.
Писать слишком долго.
Все же поняли что я имел ввиду.
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #21 - 15. Апреля 2008 :: 19:39
Печать  
После проведенных опытов у меня сложилось жуткое подозрение, что это поведение не исправить Печаль
  

FormEx developer
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #22 - 15. Апреля 2008 :: 20:30
Печать  
Цитата:
После проведенных опытов у меня сложилось жуткое подозрение, что это поведение не исправить Печаль

Глючок конечно присутствует. Но, с другой стороны, если за столько лет его никто не замечал, то может тьфу на него?
Лично я использую Сообщить() только для отладки, т.к. давно убедился, что для предупреждения пользователей окно сообщений крайне неэффективно. В лучшем случае они его просто закрывают, в худшем - испуганно звонят с фразой, что опять вылезло "ото белое". Никто его не читает.
  
Наверх
ICQ  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #23 - 16. Апреля 2008 :: 04:47
Печать  
Цитата:
После проведенных опытов у меня сложилось жуткое подозрение, что это поведение не исправить Печаль


Ну что ж на нет и суда нет.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #24 - 16. Апреля 2008 :: 09:29
Печать  
vip писал(а) 15. Апреля 2008 :: 20:30:
т.к. давно убедился, что для предупреждения пользователей окно сообщений крайне неэффективно. В лучшем случае они его просто закрывают, в худшем - испуганно звонят с фразой, что опять вылезло "ото белое". Никто его не читает.

ИМХО чаще всего они просто уменьшают его размер, чтобы это окно их не тревожило.
Типа постоянно его закрывать надоедает Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #25 - 16. Апреля 2008 :: 09:54
Печать  
artbear писал(а) 16. Апреля 2008 :: 09:29:
ИМХО чаще всего они просто уменьшают его размер, чтобы это окно их не тревожило.
Типа постоянно его закрывать надоедает Улыбка

+1 Выводишь какие-то дежурные сообщения-предупреждения, а они их не видят, так как окно уменьшено до минимума...
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #26 - 16. Апреля 2008 :: 09:59
Печать  
Arta писал(а) 16. Апреля 2008 :: 09:54:
artbear писал(а) 16. Апреля 2008 :: 09:29:
ИМХО чаще всего они просто уменьшают его размер, чтобы это окно их не тревожило.
Типа постоянно его закрывать надоедает Улыбка

+1 Выводишь какие-то дежурные сообщения-предупреждения, а они их не видят, так как окно уменьшено до минимума...


Да я уже понял.
Все.
Решено.
Все клятым юзверам буду выводить токо предупреждение с крсным крестом типа страшная ошибка.
ВСЕМ СПАСИБО.
  
Наверх
 
IP записан
 
Sensei
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 30. Июня 2008
Re: ПриИзмененииРазмераОкна(Тип,Ширина,Высота)
Ответ #27 - 30. Июня 2008 :: 06:43
Печать  
[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
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать