Цитата:Видите, Балаганов, что можно сделать из простой швейной машины Зингера? Небольшое приспособление — и получилась прелестная колхозная сноповязалка. О.Бендер «Золотой Теленок»
Получил как-то задание реализовать на управляемой форме просмотр рекламы в виде бегущей строки.
Конфигурация, в рамках которой необходимо было реализовать бегущую строку, запускалась на платформе 8.2 в режиме тонкого клиента.
Как известно для обычной формы решение данной задачи не составляет труда. Для этого необходимо поместить на форму элемент управления «Надпись» и в свойстве «БегущаяСтрока» установить любое значение, кроме «Не использовать». Но в управляемой форме такое свойство отсутствует.
Для начала произвел поиск известных решений с помощью Googlе. Нашел решение, основанное на размещении надписи (со смещением) на некотором количестве страниц и последовательном переключении этих страниц с использованием обработчика ожидания. Это решение что называется «В лоб». Оно перегружает форму множеством дополнительных страниц, единственное назначение которых - участвовать в перерисовке надписи.
Используя свои знания HTML, полученные в одной из предыдущих инкарнаций программиста, я решил попробовать реализовать вывод бегущей строки в элементе управления «HTMLСтрока».
Дело в том, что в языке HTML есть специальный тег «marquee»… «/marquee», отображающий бегущую строку на странице. С помощью атрибутов этого тега можно задавать тип и направление движения, цвет шрифта и фона области движения, скорость движения, ширину и высоту области вывода. Необходимо проверить, будет ли этот тег работать в контексте элемента управления «HTMLстрока».
Первое что нам понадобится сделать – это подготовить код HTML документа. Простейший HTML документ выглядит следующим образом:
Любой HTML документ открывается тегом «HTML». Далее обычно следует теги «HEAD» и «/HEAD» между которыми можно разместить некоторую информацию – например заголовок документа между тегами «TITLE» и «/TITLE». Затем расположено тело HTML документа, обрамленное тегами «BODY» и «/BODY». И завершается документ закрывающим тегом «/HTML»
Вы можете с помощью блокнота создать текстовый документ, набрать описанное содержимое, изменить расширение текстового документа с txt на html и открыть полученный файл с помощью браузера.
Если вы это сделали – поздравляю, родился новый WEB-разработчик.
Далее для проверки работоспособности элемента управления «HTMLСтрока» понадобилось создать внешнюю обработку. На ее форме разместить текстовый реквизит для ввода текста рекламы, кнопку и элемент управления «HTML-строка». В обработчике нажатия на кнопку сформировать простейший HTML –документ. Тело документа дополнить тегом внутри которого расположить текст рекламы и задать некоторые свойства тега.
Здесь свойство «scroll» – указывает характер движения (прокрутка) а «direction=left» - направление движения. Не забываем про дойные кавычки в текстовой строке.
Запускаем обработку на выполнение, нажимаем кнопку и видим - строка побежала. Итак задание выполнено.
Воодушевленный работоспособностью приложения решил усложнить задачу. Раскрасил область вывода и текст. Обыграл направление и скоростью движения строки.
Дальше – больше. Оказалось, что «HTMLстроке» можно "скармливать" HTML-документы содержащие java-скрипты в заголовке. С помощью такой технологии реализовал бегущую строку изменяющую цвет во время движения.
Чтобы не перегружать статью врезками кода - выкладываю обработку, в которой реализованы все описанные в статье возможности вывода бегущей строки.