Код примера
Копировать Выделить всё
Перем ДФ, Абзац1, Форма1, Контекст2d1, БлокКонтент;
Процедура МышьНадЭлементом() Экспорт
Параметр = ДФ.АргументыСобытия.Параметр;
Параметр["ЭтаСсылка"].Стиль.ЦветФона = ДФ.Цвет(0, 0, 0);
КонецПроцедуры
Процедура МышьПокинулаЭлемент() Экспорт
Параметр = ДФ.АргументыСобытия.Параметр;
Параметр["ЭтаСсылка"].Стиль.ЦветФона = ДФ.Цвет.ТемноСерый;
КонецПроцедуры
Процедура Нажатие() Экспорт
Абзац1.Текст = "Нажатие " + ДФ.АргументыСобытия.Параметр["ЭтаСсылка"].Источник + " " + ТекущаяУниверсальнаяДатаВМиллисекундах();
КонецПроцедуры
Процедура Форма1_ПриПрокручивании() Экспорт
НарисоватьИндикатор(Форма1.Прокручено);
КонецПроцедуры
Процедура НарисоватьИндикатор(парам1) Экспорт
Контекст2d1.ОчиститьПрямоугольник(0, 0, 41, 41);
Контекст2d1.НачатьПуть();
Контекст2d1.Дуга(20, 20, 20, -(ДФ.Математика().Пи / 2), (((2 * ДФ.Математика().Пи) * парам1 ) / 100) - (ДФ.Математика().Пи / 2));
Контекст2d1.ЗаполнитьТекст("^", 10, 42);
Контекст2d1.Начертить();
КонецПроцедуры
Процедура Холст1_Нажатие() Экспорт
Сообщить("Холст1_Нажатие " + ТекущаяУниверсальнаяДатаВМиллисекундах());
БлокКонтент.ПрокрутитьДо();
КонецПроцедуры
ПодключитьВнешнююКомпоненту("C:\444\111\DeclarativeForms\DeclarativeForms\bin\Debug\DeclarativeForms.dll");
ДФ = Новый ДекларативныеФормы();
Форма1 = ДФ.Форма;
Форма1.НачальнаяШирина = 600;
Форма1.НачальнаяВысота = 300;
Форма1.ПриПрокручивании = ДФ.Действие(ЭтотОбъект, "Форма1_ПриПрокручивании");
Контент = Форма1.Контент;
Контент.Стиль.Отступ = ДФ.Отступ(0, 0, 0, 0, Истина);
Контент.Стиль.РазмерШрифта = 28;
Блок1 = Форма1.ДобавитьДочерний(ДФ.Блок());
Блок1.Стиль.Позиция = ДФ.Позиция.Фиксировано;
Блок1.Стиль.Верх = 0;
Блок1.Стиль.Ширина = "100%";
Блок1.Стиль.ЦветФона = ДФ.Цвет(241, 241, 241);
Заголовок2 = Блок1.ДобавитьДочерний(ДФ.Заголовок2());
Заголовок2.Текст = "Индикатор прокрутки";
Заголовок2.Стиль.ГоризонтальноеВыравниваниеТекста = ДФ.ГоризонтальноеВыравниваниеТекста.Центр;
БлокКонтент = Форма1.ДобавитьДочерний(ДФ.Блок());
БлокКонтент.Стиль.Ширина = "80%";
БлокКонтент.Стиль.Отступ = "50px auto 0 auto";
БлокКонтент.Стиль.Заполнение = ДФ.Заполнение(100, 0, 0, 0);
Заголовок3 = БлокКонтент.ДобавитьДочерний(ДФ.Заголовок3());
Заголовок3.Текст = "Прокрутите вниз, чтобы увидеть эффект";
Абзац1 = Форма1.ДобавитьДочерний(ДФ.Абзац());
Абзац1.Текст = "Алиса так увлеклась, что сама захлопала в ладоши и тут же, конечно, упустила клубок.
|Но она этого не заметила даже, а в восторге представила себе живые танцующие деревья.";
Абзац2 = Форма1.ДобавитьДочерний(ДФ.Абзац());
Абзац2.Текст = "– Вот было бы здорово! – воскликнула Алиса. – Они бы веселились до самой осени. А потом сложили бы листочки на землю и заснули на всю зиму.
|Послушай, – обратилась она вдруг к котенку, – а в шахматы играть ты умеешь? Ну что же тут смешного? Обычное дело. И потом, я сама видела, как ты внимательно следишь за игрой в шахматы.
|На днях, когда я сказала: «Шах!» – ты даже мурлыкнул. А правда же отличный был ход? Если бы не этот противный конь, я бы непременно выиграла.
|Он так незаметно подкрался! Слушай, котик, а давай играть КАК БУДТО!";
Абзац3 = Форма1.ДобавитьДочерний(ДФ.Абзац());
Абзац3.Текст = "Алиса обожала эти слова – КАК БУДТО. С ними можно было играть во что угодно.
|Вчера, например, она предложила сестре: «Давай играть, КАК БУДТО мы шахматные Короли и Королевы».
|Но сестра не понимает никаких КАК БУДТО.
|«Это невозможно, – сказала она рассудительно. – Нас ведь всего две, а королей и королев – четыре».
|«Ну и что! – возразила Алиса. – Это же КАК БУДТО. Ты будешь одной из Королев, а я КАК БУДТО сразу всеми остальными».";
Круг = Форма1.ДобавитьДочерний(ДФ.Блок());
Круг.Стиль.Ширина = 40;
Круг.Стиль.Высота = 40;
Круг.Стиль.Позиция = ДФ.Позиция.Фиксировано;
Круг.Стиль.Низ = 22;
Круг.Стиль.Право = 22;
Круг.Стиль.РадиусГраницы = "50%";
Круг.Стиль.ЦветФона = "rgba(243, 243, 243, 0.4)";
Круг.Стиль.Границы = ДФ.Границы(1, ДФ.СтильГраницы.Сплошная, "rgba(0, 0, 0, 0.4)");
Холст1 = Круг.ДобавитьДочерний(ДФ.Холст());
Холст1.Ширина = 41;
Холст1.Высота = 41;
Холст1.Нажатие = ДФ.Действие(ЭтотОбъект, "Холст1_Нажатие");
Контекст2d1 = Холст1.Контекст2d;
Контекст2d1.СтильОбводки = ДФ.Цвет.Синий;
Контекст2d1.ШиринаЛинии = 2;
Шрифт1 = ДФ.Шрифт( , , , 46, , "serif");
Контекст2d1.Шрифт = Шрифт1;
Контекст2d1.ЗаполнитьТекст("^", 10, 42);
Форма1.Открыть();