ExCtrls/ru: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: ExCtrls/ru
| Old | New | Line | |
|---|---|---|---|
| 1 | + | ## О компоненте | |
| 2 | + | ||
| 3 | + | *ExCtrls* представляет собой набор элементов управления, которые пытаются преодолеть ограничения, накладываемые набором виджетов. Более того, добавлены некоторые недостающие элементы управления. | |
| 4 | + | ||
| 5 | + | ### Авторство | |
| 6 | + | ||
| 7 | + | Пакет написан Werner Pamler (Вернером Памлером), но многократно использует большой код компонентов LCL, написанных командой Lazarus. | |
| 8 | + | ||
| 9 | + | ### Лицензия | |
| 10 | + | ||
| 11 | + | Модифицированная LGPL (с исключением ссылок, как Lazarus LCL) | |
| 12 | + | ||
| 13 | + | ### Загрузка и установка | |
| 14 | + | ||
| 15 | + | #### Версия для разработчиков | |
| 16 | + | ||
| 17 | + | Используйте клиент SVN для загрузки текущей версии транка из <svn://svn.code.sf.net/p/lazarus-ccr/svn/components/exctrls>. Или загрузите архив снапшота с <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/exctrls/> и распакуйте в какую-нибудь папку. | |
| 18 | + | ||
| 19 | + | #### Release версия | |
| 20 | + | ||
| 21 | + | Пока релизных версий нет. | |
| 22 | + | ||
| 23 | + | #### Установка | |
| 24 | + | ||
| 25 | + | В Lazarus перейдите через меню "Package"(Пакет) \> "Open Package File .lpk" (Открыть файл пакета .lpk). Перейдите в папку с исходниками ExCtrls и выберите exctrlspkg.lkp. Нажмите "Compile"(Компилировать), затем "Use"(Использовать) \> "Install"(Установить). Это запустит пересборку IDE (может занять некоторое время). Когда процесс будет завершен, IDE перезапустится, и вы найдете компоненты в палитрах **ExCtrls** и **LazControls**. | |
| 26 | + | ||
| 27 | + | ## Использование | |
| 28 | + | ||
| 29 | + | ### Простой код | |
| 30 | + | ||
| 31 | + | Применение каждого компонента демонстрируется проектом в папке *examples* вместе с кодом компонента. | |
| 32 | + | ||
| 33 | + | ### TRadioButtonEx, TCheckBoxEx, TRadioGroupEx и TCheckGroupEx | |
| 34 | + | ||
| 35 | + | Эти компоненты повторно реализуют стандартные TRadioButton, TCheckBox, TRadioGroup и TCheckGroup, но наследуются от TCustomControl и, таким образом, рисуются не набором виджетов, а ThemeServices. Как следствие, существует меньше ограничений, связанных с набором виджетов, хотя компоненты выглядят и ведут себя как их исходные аналоги LCL. | |
| 36 | + | ||
| 37 | + | **Новые функции:** | |
| 38 | + | ||
| 39 | + | - **Переносимые заголовки**: Если для нового свойства `WordWrap` установлено значение `true`, длинные подписи переносятся по словам, чтобы соответствовать ширине элемента управления. Обратите внимание, что когда `AutoSize` активируется до включения `WordWrap`, заголовок изначально не переносится, и весь текст помещается в одну строку. Выключите `AutoSize` и уменьшите ширину элемента управления. После включения функции переноса текста можно снова включить `AutoSize`, чтобы отрегулировать высоту. | |
| 40 | + | - **Расположение по вертикали**: `ButtonLayout` и `TextLayout` контролируют вертикальное положение флажка/радиокнопки и заголовка, соответственно. По умолчанию установлено значение `tlCenter`, то есть соответствующий элемент центрируется по вертикали в пределах элемента управления; другие значения: `tlTop` и `tlBottom`. Обычно `ButtonLayout` и `TextLayout` изменяются парами. | |
| 41 | + | - **Предоставляемые пользователем изображение флажка**: Флажки и радиокнопки обычно рисуются ThemeServices, но можно предоставить выделенные битовые карты, которые можно использовать вместо них. Растровые изображения должны храниться в `TImageList`, прикрепленном к свойству `Images`. Соответствующий индекс изображения должен быть назначен в обработчике события `OnGetImageIndex`, имеющего соответствующие параметры, чтобы различать состояния при наведении курсора мыши, нажатии, а также включенном/отключенном и отмеченном/не отмеченном состояниях. | |
| 42 | + | - **Пользовательские цвета заголовков и настройки шрифта**: Шрифт заголовка можно изменить, если свойство `ThemedCaption` переключено на `false`. В случае `TRadioGroupEx` шрифт отдельных элементов может быть изменен только во время выполнения путем доступа к свойству `RadioGroup1.Buttons[Andex]`, указывающему на `TRadioButtonEx` по указанному индексу в радиогруппе. То же самое возможно и с `TCheckGroupEx`. | |
| 43 | + | ||
| 44 | + | <figure> | |
| 45 | + | <img src="checkcontrolsEx.png" title="checkcontrolsEx.png" /> | |
| 46 | + | <figcaption>checkcontrolsEx.png</figcaption> | |
| 47 | + | </figure> | |
| 48 | + | ||
| 49 | + | ### TCurrSpinEditEx | |
| 50 | + | ||
| 51 | + | Палитра *LazControls* по умолчанию уже содержит расширенный элемент управления spin edit для целых чисел и чисел с плавающей запятой (`TSpinEditEx` и `TFloatSpinEditEx`, соответственно). Недостающее в стандартной палитре редактирование для значений валюты реализовано в пакете *ExCtrls*. Регистрация компонента помещает `TCurrSpinEditEx` в палитру *LazControls*. | |
| 52 | + | ||
| 53 | + | **Новые и измененные свойства** | |
| 54 | + | ||
| 55 | + | - `Value`: Тип данных элемента управления `currency`. | |
| 56 | + | - `CurrencyString`: Название валюты, например '\$' или '€', добавляется к числовому значению в поле редактирования. Значение по умолчанию берется из `DefaultFormatSettings`, предоставленного модулем `SysUtils`. | |
| 57 | + | - `CurrencyFormat`: Задает порядок (положительного) числового значения и названия валюты в поле редактирования: | |
| 58 | + | - `secfCurrVal`: сначала строка валюты, без пробела (напр., '\$1') | |
| 59 | + | - `secfValCurr`: сначала значение, без пробела (напр., '1\$') | |
| 60 | + | - `secfCurrSpaceVal`: сначала строка валюты, значание через пробел (напр., '\$ 1'); | |
| 61 | + | - `secfValSpaceCurr`: сначала значение, валюат через пробел (напр., '1 \$'); | |
| 62 | + | - `NegCurrencyFormat`: Как и для `CurrencyFormat`, но теперь для отрицательных значений: | |
| 63 | + | - `sencfParCurrValPar`: сначала строка валюты, без пробела, вся строка заключена в круглые скобки (напр., '(\$1)') | |
| 64 | + | - `sencfMinusCurrVal`: сначала строка валюты с начальным знаком '-', без пробела (напр., '-1\$') | |
| 65 | + | - `sencfCurrMinusVal`: сначала строка валюты, без пробела, '-' перед значением (напр., '\$-1') | |
| 66 | + | - `sencfCurrValMinus`: сначала строка валюты, значение с добавленным '-' (напр., '\$1-') | |
| 67 | + | - и т.д. | |
| 68 | + | ||
| 69 | + | Другие допустимые значения это `sencfParValCurrPar` ('1\$'), `sencfMinusValCurr` ('-1\$'), `sencfValMinusCurr` ('1-\$'), `sencfValCurrMinus` ('1\$-'), `sencfMinusValSpaceCurr` ('-1 \$'), `sencfMinusCurrSpaceVal` ('-\$ 1'), `sencfValSpaceCurrMinus` ('1 \$-'), `sencfCurrSpaceValMinus` ('\$ 1-'), `sencfCurrSpaceMinusVal` ('\$ -1'), `sencfValMinusSpaceCurr` ('1- \$'), `sencfParCurrSpaceValPar` ('(\$ 1)'), `sencfParValSpaceCurrPar` ('(1 \$)') | |
| 70 | + | ||
| 71 | + | - `DecimalSeparator`: Символ, используемый для отделения десятичных знаков от целочисленной части. По умолчанию используется значение, определенное <tt>DefaultFormatSettings<tt>. | |
| 72 | + | - `ThousandSeparator`:Если не пустой (то есть не \#0), целочисленная часть значения форматируется с разделителем тысяч для лучшей читаемости. Обратите внимание, что элемент управления не позволяет DecimalSeparator и ThousandSeparator быть одинаковыми. | |
| 73 | + | ||
| 74 | + | <figure> | |
| 75 | + | <img src="savingscalculator.png" title="savingscalculator.png" /> | |
| 76 | + | <figcaption>savingscalculator.png</figcaption> | |
| 77 | + | </figure> | |
| 78 | + | ||
| 79 | + | --- | |
| 80 | + | *From the Free Pascal wiki, page "ExCtrls/ru", as it stood on 2020-05-23 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
