|
| 1 | +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| 2 | +<HTML><HEAD><TITLE>CircularScrollIndicator</TITLE> |
| 3 | +<META content="text/html; charset=Windows-1252" http-equiv="Content-Type"> |
| 4 | +<LINK rel="stylesheet" type="text/css" href="mainstyle.css"></HEAD> |
| 5 | +<BODY id=bodyID class=dtBODY> |
| 6 | +<DIV id=nsbanner> |
| 7 | +<DIV id=bannerrow1> |
| 8 | +<TABLE class=bannerparthead cellSpacing=0> |
| 9 | + <TBODY> |
| 10 | + <TR id=hdr> |
| 11 | + <TD class=runninghead></TD> |
| 12 | + <TD class=product></TD></TR></TBODY></TABLE></DIV> |
| 13 | +<DIV id=TitleRow> |
| 14 | +<H1 class=dtH1>Индикатор прокрутки круговой</H1></DIV></DIV> |
| 15 | +<DIV id=nstext> |
| 16 | +<H4 class=dtH4>Индикатор прокрутки круговой.</H4> |
| 17 | +<P></P> |
| 18 | +<IMG src="CircularScrollIndicator1.jpg"></IMG> |
| 19 | +<P></P> |
| 20 | +<details><summary>Код примера</summary> |
| 21 | +<P><PRE class=code> |
| 22 | +<a id="copy1" href="jаvascript://" title="Выделяет код, копирует и снимает выделение.">Копировать</a> <a id="select1" href="jаvascript://" title="Выделяет код.">Выделить всё</a> |
| 23 | +<hr style="border-color: lightgray;"><DIV id="cont1"> |
| 24 | +Перем ДФ, Абзац1, Форма1, Контекст2d1, БлокКонтент; |
| 25 | + |
| 26 | +Процедура МышьНадЭлементом() Экспорт |
| 27 | + Параметр = ДФ.АргументыСобытия.Параметр; |
| 28 | + Параметр["ЭтаСсылка"].Стиль.ЦветФона = ДФ.Цвет(0, 0, 0); |
| 29 | +КонецПроцедуры |
| 30 | + |
| 31 | +Процедура МышьПокинулаЭлемент() Экспорт |
| 32 | + Параметр = ДФ.АргументыСобытия.Параметр; |
| 33 | + Параметр["ЭтаСсылка"].Стиль.ЦветФона = ДФ.Цвет.ТемноСерый; |
| 34 | +КонецПроцедуры |
| 35 | + |
| 36 | +Процедура Нажатие() Экспорт |
| 37 | + Абзац1.Текст = "Нажатие " + ДФ.АргументыСобытия.Параметр["ЭтаСсылка"].Источник + " " + ТекущаяУниверсальнаяДатаВМиллисекундах(); |
| 38 | +КонецПроцедуры |
| 39 | + |
| 40 | +Процедура Форма1_ПриПрокручивании() Экспорт |
| 41 | + НарисоватьИндикатор(Форма1.Прокручено); |
| 42 | +КонецПроцедуры |
| 43 | + |
| 44 | +Процедура НарисоватьИндикатор(парам1) Экспорт |
| 45 | + Контекст2d1.ОчиститьПрямоугольник(0, 0, 41, 41); |
| 46 | + Контекст2d1.НачатьПуть(); |
| 47 | + Контекст2d1.Дуга(20, 20, 20, -(ДФ.Математика().Пи / 2), (((2 * ДФ.Математика().Пи) * парам1 ) / 100) - (ДФ.Математика().Пи / 2)); |
| 48 | + Контекст2d1.ЗаполнитьТекст("^", 10, 42); |
| 49 | + Контекст2d1.Начертить(); |
| 50 | +КонецПроцедуры |
| 51 | + |
| 52 | +Процедура Холст1_Нажатие() Экспорт |
| 53 | + Сообщить("Холст1_Нажатие " + ТекущаяУниверсальнаяДатаВМиллисекундах()); |
| 54 | + БлокКонтент.ПрокрутитьДо(); |
| 55 | +КонецПроцедуры |
| 56 | + |
| 57 | +ПодключитьВнешнююКомпоненту("C:\444\111\DeclarativeForms\DeclarativeForms\bin\Debug\DeclarativeForms.dll"); |
| 58 | +ДФ = Новый ДекларативныеФормы(); |
| 59 | +Форма1 = ДФ.Форма; |
| 60 | +Форма1.НачальнаяШирина = 600; |
| 61 | +Форма1.НачальнаяВысота = 300; |
| 62 | +Форма1.ПриПрокручивании = ДФ.Действие(ЭтотОбъект, "Форма1_ПриПрокручивании"); |
| 63 | + |
| 64 | +Контент = Форма1.Контент; |
| 65 | +Контент.Стиль.Отступ = ДФ.Отступ(0, 0, 0, 0, Истина); |
| 66 | +Контент.Стиль.РазмерШрифта = 28; |
| 67 | + |
| 68 | +Блок1 = Форма1.ДобавитьДочерний(ДФ.Блок()); |
| 69 | +Блок1.Стиль.Позиция = ДФ.Позиция.Фиксировано; |
| 70 | +Блок1.Стиль.Верх = 0; |
| 71 | +Блок1.Стиль.Ширина = "100%"; |
| 72 | +Блок1.Стиль.ЦветФона = ДФ.Цвет(241, 241, 241); |
| 73 | + |
| 74 | +Заголовок2 = Блок1.ДобавитьДочерний(ДФ.Заголовок2()); |
| 75 | +Заголовок2.Текст = "Индикатор прокрутки"; |
| 76 | +Заголовок2.Стиль.ГоризонтальноеВыравниваниеТекста = ДФ.ГоризонтальноеВыравниваниеТекста.Центр; |
| 77 | + |
| 78 | +БлокКонтент = Форма1.ДобавитьДочерний(ДФ.Блок()); |
| 79 | +БлокКонтент.Стиль.Ширина = "80%"; |
| 80 | +БлокКонтент.Стиль.Отступ = "50px auto 0 auto"; |
| 81 | +БлокКонтент.Стиль.Заполнение = ДФ.Заполнение(100, 0, 0, 0); |
| 82 | + |
| 83 | +Заголовок3 = БлокКонтент.ДобавитьДочерний(ДФ.Заголовок3()); |
| 84 | +Заголовок3.Текст = "Прокрутите вниз, чтобы увидеть эффект"; |
| 85 | + |
| 86 | +Абзац1 = Форма1.ДобавитьДочерний(ДФ.Абзац()); |
| 87 | +Абзац1.Текст = "Алиса так увлеклась, что сама захлопала в ладоши и тут же, конечно, упустила клубок. |
| 88 | +|Но она этого не заметила даже, а в восторге представила себе живые танцующие деревья."; |
| 89 | + |
| 90 | +Абзац2 = Форма1.ДобавитьДочерний(ДФ.Абзац()); |
| 91 | +Абзац2.Текст = "– Вот было бы здорово! – воскликнула Алиса. – Они бы веселились до самой осени. А потом сложили бы листочки на землю и заснули на всю зиму. |
| 92 | +|Послушай, – обратилась она вдруг к котенку, – а в шахматы играть ты умеешь? Ну что же тут смешного? Обычное дело. И потом, я сама видела, как ты внимательно следишь за игрой в шахматы. |
| 93 | +|На днях, когда я сказала: «Шах!» – ты даже мурлыкнул. А правда же отличный был ход? Если бы не этот противный конь, я бы непременно выиграла. |
| 94 | +|Он так незаметно подкрался! Слушай, котик, а давай играть КАК БУДТО!"; |
| 95 | + |
| 96 | +Абзац3 = Форма1.ДобавитьДочерний(ДФ.Абзац()); |
| 97 | +Абзац3.Текст = "Алиса обожала эти слова – КАК БУДТО. С ними можно было играть во что угодно. |
| 98 | +|Вчера, например, она предложила сестре: «Давай играть, КАК БУДТО мы шахматные Короли и Королевы». |
| 99 | +|Но сестра не понимает никаких КАК БУДТО. |
| 100 | +|«Это невозможно, – сказала она рассудительно. – Нас ведь всего две, а королей и королев – четыре». |
| 101 | +|«Ну и что! – возразила Алиса. – Это же КАК БУДТО. Ты будешь одной из Королев, а я КАК БУДТО сразу всеми остальными»."; |
| 102 | + |
| 103 | +Круг = Форма1.ДобавитьДочерний(ДФ.Блок()); |
| 104 | +Круг.Стиль.Ширина = 40; |
| 105 | +Круг.Стиль.Высота = 40; |
| 106 | +Круг.Стиль.Позиция = ДФ.Позиция.Фиксировано; |
| 107 | +Круг.Стиль.Низ = 22; |
| 108 | +Круг.Стиль.Право = 22; |
| 109 | +Круг.Стиль.РадиусГраницы = "50%"; |
| 110 | +Круг.Стиль.ЦветФона = "rgba(243, 243, 243, 0.4)"; |
| 111 | +Круг.Стиль.Границы = ДФ.Границы(1, ДФ.СтильГраницы.Сплошная, "rgba(0, 0, 0, 0.4)"); |
| 112 | + |
| 113 | +Холст1 = Круг.ДобавитьДочерний(ДФ.Холст()); |
| 114 | +Холст1.Ширина = 41; |
| 115 | +Холст1.Высота = 41; |
| 116 | +Холст1.Нажатие = ДФ.Действие(ЭтотОбъект, "Холст1_Нажатие"); |
| 117 | + |
| 118 | +Контекст2d1 = Холст1.Контекст2d; |
| 119 | +Контекст2d1.СтильОбводки = ДФ.Цвет.Синий; |
| 120 | +Контекст2d1.ШиринаЛинии = 2; |
| 121 | + |
| 122 | +Шрифт1 = ДФ.Шрифт( , , , 46, , "serif"); |
| 123 | +Контекст2d1.Шрифт = Шрифт1; |
| 124 | +Контекст2d1.ЗаполнитьТекст("^", 10, 42); |
| 125 | + |
| 126 | +Форма1.Открыть(); |
| 127 | +</DIV> |
| 128 | +</PRE> |
| 129 | +</details> |
| 130 | +<P></P> |
| 131 | +<H4 class=dtH4>Смотрите также</H4> |
| 132 | +<P><A href="OSDForms.html">Библиотека DeclarativeForms</A> | <A href="OSDFormsTests.html">Примеры тестирования</A></P></DIV> |
| 133 | +<script> |
| 134 | +window.onload = function () { |
| 135 | + var a = document.getElementById('select1'); |
| 136 | + a.onclick = function() { |
| 137 | + window.getSelection().removeAllRanges(); |
| 138 | + var ta1 = document.getElementById('cont1'); |
| 139 | + var range1 = document.createRange(); |
| 140 | + range1.selectNode(ta1); |
| 141 | + window.getSelection().addRange(range1); |
| 142 | + return false; |
| 143 | + } |
| 144 | + |
| 145 | + var b = document.getElementById('copy1'); |
| 146 | + b.onclick = function() { |
| 147 | + window.getSelection().removeAllRanges(); |
| 148 | + var ta2 = document.getElementById('cont1'); |
| 149 | + var range2 = document.createRange(); |
| 150 | + range2.selectNode(ta2); |
| 151 | + window.getSelection().addRange(range2); |
| 152 | + try { |
| 153 | + document.execCommand('copy'); |
| 154 | + } catch(err) {} |
| 155 | + window.getSelection().removeRange(range2); |
| 156 | + return false; |
| 157 | + } |
| 158 | +} |
| 159 | +</script> |
| 160 | +</BODY></HTML> |
0 commit comments