JohnyDeath писал(а) 07. Июля 2008 :: 13:43:Щас придёт Arta и научит тебя делать это перехватчиком.
![Очень довольный Очень довольный](https://www.1cpp.ru/forumfiles/Templates/Forum/default/cheesy.gif)
Это делается просто.
Как делается увеличение во множестве программ - через контрол и прокрутку колеса мыши.
Делаем в перехватчике любой формы:
Функция ПолучитьЭлементУправленияИмеющийМетод(ИмяАтрибутаФормы, Метод)
Если ПустоеЗначение(ИмяАтрибутаФормы) = 0 Тогда
_Форма = СоздатьОбъект("Форма");
_Форма.УстановитьФорму(Конт.Форма);
Попытка
Элемент = _Форма.ПолучитьЭлементУправления(ИмяАтрибутаФормы);
Если ПустоеЗначение(Элемент) = 0 Тогда
Если Информатор.МетодСуществует(Элемент, Метод) = 1 Тогда
Возврат Элемент;
КонецЕсли;
КонецЕсли;
Исключение
Ошибка = ОписаниеОшибки();
Если (Ошибка <> "Окно атрибута формы не найдено!") И (Ошибка <> "Атрибут формы не найден!") Тогда
Сообщить("Атрибут: " + ИмяАтрибутаФормы + " " + ОписаниеОшибки(), "!");
КонецЕсли;
КонецПопытки;
КонецЕсли;
КонецФункции
Процедура ПриПрокруткеКолесаМыши(Сост, Лево, Верх, ФСО, Градусы) Экспорт
Перехватчик.ВыполнитьОригинальноеСобытиеГК(Конт, "ПриПрокруткеКолесаМыши", Сост, Лево, Верх, ФСО, Градусы);
Если ФСО <> 0 Тогда
Элемент = ПолучитьЭлементУправленияИмеющийМетод(Конт.Форма.АктивныйЭлемент(), "ПриПрокруткеКолесаМыши");
Если ПустоеЗначение(Элемент) = 0 Тогда
Элемент.ПриПрокруткеКолесаМыши(Сост, Лево, Верх, ФСО, Градусы);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
В коде класса-наследника Tabledcoc делаем:
Процедура ПриПрокруткеКолесаМыши(Сост, Градусы, Лево, Верх, ФСО, Таблица, НомерВида) Экспорт
Если Сост = 8 Тогда
Масштаб = Сам().Менеджер.Масштаб();
Если Градусы < 0 Тогда
Если Масштаб > 10 Тогда
Сам().Менеджер.Масштаб(Масштаб - 10);
КонецЕсли;
Иначе
Сам().Менеджер.Масштаб(Масштаб + 10);
КонецЕсли;
ФСО = 0;
КонецЕсли;
КонецПроцедуры
P.S. Подобный код универсален для любых контролов (ТП, активиксов и т.д.)