Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Не могу программно активизировать плавающую форму после открытия (число прочтений - 5852 )
rawlik
Junior Member
**
Отсутствует



Сообщений: 53
Зарегистрирован: 11. Сентября 2007
Пол: Мужской
Не могу программно активизировать плавающую форму после открытия
25. Марта 2009 :: 13:08
Печать  
После открытия плавающей формы по нажатию кнопки, активным (синий заголовок)  остается у окна с этой самой кнопкой.
  • Штатный метод Активизировать()  ПослеОткрытия() - ничего не дал .
  • Объект Окна.наПереднийПлан() - ПослеОткрытия() ничего не дал.
  • Ctrl+TAB - обходит только  "нормальные" окна

Мышкой активизировать ? - Не солидно  Подмигивание (Хочу сканер прикрутить).

Какие есть еще варианты  ?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Не могу программно активизировать плавающую форму после открытия
Ответ #1 - 27. Марта 2009 :: 13:53
Печать  
а что должно происходить-то после открытия?
  
Наверх
 
IP записан
 
rawlik
Junior Member
**
Отсутствует



Сообщений: 53
Зарегистрирован: 11. Сентября 2007
Пол: Мужской
Re: Не могу программно активизировать плавающую форму после открытия
Ответ #2 - 27. Марта 2009 :: 14:38
Печать  
   Когда открываешь модальное окно, фокус ввода (клавиатуры) получает оно.  А в данном случае, фокус ввода остается у окна на котором пользователь нажал кнопку (мышью или клавиатурой пробел/Ввод).
  Хочется поведения фокуса ввода после открытия, как у модального окна,  при этом иметь возможность выделять, копировать текст из окон заднего плана - т.е. плавающее окно.

Прилагаю проверочную конфу.
  

empty_conf.zip ( 14 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Не могу программно активизировать плавающую форму после открытия
Ответ #3 - 27. Марта 2009 :: 15:38
Печать  
Попробуй так, дальше сам додумай.
  

1Cv7_007.MD ( 133 KB | Загрузки )
Наверх
 
IP записан
 
rawlik
Junior Member
**
Отсутствует



Сообщений: 53
Зарегистрирован: 11. Сентября 2007
Пол: Мужской
Re: Не могу программно активизировать плавающую форму после открытия
Ответ #4 - 28. Марта 2009 :: 13:10
Печать  
Озадачен....

Есть в WinApi такая функция
Код
Выбрать все
HWND SetFocus( HWND hWnd); 


В 1С 7.7 ее аналог => Активизировать("Элемент") или Активизировать() если просто форму.
Этот метод, в данном случае, не работает.
Так вот такая задача:
После открытия плавающей формы, установить фокус ввода на нее.
С остальным у меня все ОК.
 Улыбка
  
Наверх
 
IP записан
 
rawlik
Junior Member
**
Отсутствует



Сообщений: 53
Зарегистрирован: 11. Сентября 2007
Пол: Мужской
Re: Не могу программно активизировать плавающую форму после открытия
Ответ #5 - 28. Марта 2009 :: 13:30
Печать  
РЕШЕНО.

Путем вызова активизации с задержкой (можно и 1 мс) из родительской формы  .


  

1Cv7_Resolved.zip ( 11 KB | Загрузки )
Наверх
 
IP записан
 
novichek
Экс-Участник


Re: Не могу программно активизировать плавающую форму после открытия
Ответ #6 - 30. Марта 2009 :: 03:06
Печать  
Здесь спрошу... кто как решил проблему:
при наличии плавающей формы, если в другом окне вызываем сз.ВыбратьЗначение(..,1), то меню выбора привязывается к какому-либо реквизиту плавающей формы!
Тоже самое наблюдается если мы плавающую форму закрыли, но еще не убили ее контекст.
  
Наверх
 
IP записан
 
rawlik
Junior Member
**
Отсутствует



Сообщений: 53
Зарегистрирован: 11. Сентября 2007
Пол: Мужской
Re: Не могу программно активизировать плавающую форму после открытия
Ответ #7 - 30. Марта 2009 :: 09:25
Печать  
Тестовую конфу скините, глянем.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать