Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема OnFocus/ПриПолученииФокуса (число прочтений - 1760 )
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
OnFocus/ПриПолученииФокуса
15. Июня 2010 :: 09:04
Печать  
Нет ли такого обработчика события в 1С++ или FormEx? Чтобы срабатывал при получении фокуса элементом управления на форме.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: OnFocus/ПриПолученииФокуса
Ответ #1 - 15. Июня 2010 :: 09:44
Печать  
Если контрол - активикс, то у него есть, как правило..
Иначе - в ПриДвиженииМыши смотреть получать атрибут через ПолучитьАтрибутПоКоординатам, проверять его тип и т.д.. т.е руками ловить "фокус"
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: OnFocus/ПриПолученииФокуса
Ответ #2 - 15. Июня 2010 :: 09:52
Печать  
да, точно, можно замутить так. Т.е. отрабатывать переходы по табу ПриНажатииКнопкиКлавиатуры и клики мышью. спасибо за идеюУлыбка
зы: хотя, жаль, что события нетПечаль
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: OnFocus/ПриПолученииФокуса
Ответ #3 - 15. Июня 2010 :: 11:17
Печать  
у тебя есть еще - Форма.АктивныйЭлемент(), если что.. для "Таба"
  
Наверх
 
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: OnFocus/ПриПолученииФокуса
Ответ #4 - 15. Июня 2010 :: 11:23
Печать  
я по-другому извратился Улыбка
Вроде пашет как надо, только нужно идентификаторы элементам управления назначить, чтобы отрабатывало Если АктивныйЭлементКэш <> Форма.АктивныйЭлемент()
Код
Выбрать все
Перем ФРIdleProc;
Перем АктивныйЭлементКэш;

//===================================================
Процедура ПослеОткрытия()

	АктивныйЭлементКэш = Форма.АктивныйЭлемент();

	ФРIdleProc = СоздатьОбъект("РасширениеФормы");
	ФРIdleProc.ОбработкаОжидания("ПроверитьАктивныйЭлемент",1);

КонецПроцедуры	// ПослеОткрытия
//============================================================
Процедура ПриПолученииФокуса(ИдРеквизита)
	АктивныйЭлементКэш = ИдРеквизита;

	Сообщить("Получен фокус " + ИдРеквизита);
КонецПроцедуры	// ПриПолученииФокуса
//============================================================
Процедура ПроверитьАктивныйЭлемент()

	Если АктивныйЭлементКэш <> Форма.АктивныйЭлемент() Тогда

		ПриПолученииФокуса(Форма.АктивныйЭлемент());
	КонецЕсли;

КонецПроцедуры	// ПроверитьАктивныйЭлемент
//============================================================
 

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать