ExCtrls/ru: what changed
Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.
| Old | New | Line | |
|---|---|---|---|
| 1 | 1 | ## О компоненте | |
| 2 | 2 | ||
| 3 | 3 | *ExCtrls* представляет собой набор элементов управления, которые пытаются преодолеть ограничения, накладываемые набором виджетов. Более того, добавлены некоторые недостающие элементы управления. | |
| 4 | 4 | ||
| 5 | 5 | ### Авторство | |
| 6 | 6 | ||
| 7 | 7 | Пакет написан Werner Pamler (Вернером Памлером), но многократно использует большой код компонентов LCL, написанных командой Lazarus. | |
| 8 | 8 | ||
| 9 | 9 | ### Лицензия | |
| 10 | 10 | ||
| 11 | 11 | Модифицированная LGPL (с исключением ссылок, как Lazarus LCL) | |
| 12 | 12 | ||
| 13 | 13 | ### Загрузка и установка | |
| 14 | 14 | ||
| 15 | 15 | #### Версия для разработчиков | |
| 16 | 16 | ||
| 17 | 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 | 18 | ||
| 19 | 19 | #### Release версия | |
| 20 | 20 | ||
| 21 | 21 | Пока релизных версий нет. | |
| 22 | 22 | ||
| 23 | 23 | #### Установка | |
| 24 | 24 | ||
| 25 | 25 | В Lazarus перейдите через меню "Package"(Пакет) \> "Open Package File .lpk" (Открыть файл пакета .lpk). Перейдите в папку с исходниками ExCtrls и выберите exctrlspkg.lkp. Нажмите "Compile"(Компилировать), затем "Use"(Использовать) \> "Install"(Установить). Это запустит пересборку IDE (может занять некоторое время). Когда процесс будет завершен, IDE перезапустится, и вы найдете компоненты в палитрах **ExCtrls** и **LazControls**. | |
| 26 | 26 | ||
| 27 | 27 | ## Использование | |
| 28 | 28 | ||
| 29 | 29 | ### Простой код | |
| 30 | 30 | ||
| 31 | 31 | Применение каждого компонента демонстрируется проектом в папке *examples* вместе с кодом компонента. | |
| 32 | 32 | ||
| 33 | 33 | ### TRadioButtonEx, TCheckBoxEx, TRadioGroupEx и TCheckGroupEx | |
| 34 | 34 | ||
| 35 | 35 | Эти компоненты повторно реализуют стандартные TRadioButton, TCheckBox, TRadioGroup и TCheckGroup, но наследуются от TCustomControl и, таким образом, рисуются не набором виджетов, а ThemeServices. Как следствие, существует меньше ограничений, связанных с набором виджетов, хотя компоненты выглядят и ведут себя как их исходные аналоги LCL. | |
| 36 | 36 | ||
| 37 | 37 | **Новые функции:** | |
| 38 | 38 | ||
| 39 | 39 | - **Переносимые заголовки**: Если для нового свойства `WordWrap` установлено значение `true`, длинные подписи переносятся по словам, чтобы соответствовать ширине элемента управления. Обратите внимание, что когда `AutoSize` активируется до включения `WordWrap`, заголовок изначально не переносится, и весь текст помещается в одну строку. Выключите `AutoSize` и уменьшите ширину элемента управления. После включения функции переноса текста можно снова включить `AutoSize`, чтобы отрегулировать высоту. | |
| 40 | 40 | - **Расположение по вертикали**: `ButtonLayout` и `TextLayout` контролируют вертикальное положение флажка/радиокнопки и заголовка, соответственно. По умолчанию установлено значение `tlCenter`, то есть соответствующий элемент центрируется по вертикали в пределах элемента управления; другие значения: `tlTop` и `tlBottom`. Обычно `ButtonLayout` и `TextLayout` изменяются парами. | |
| 41 | 41 | - **Предоставляемые пользователем изображение флажка**: Флажки и радиокнопки обычно рисуются ThemeServices, но можно предоставить выделенные битовые карты, которые можно использовать вместо них. Растровые изображения должны храниться в `TImageList`, прикрепленном к свойству `Images`. Соответствующий индекс изображения должен быть назначен в обработчике события `OnGetImageIndex`, имеющего соответствующие параметры, чтобы различать состояния при наведении курсора мыши, нажатии, а также включенном/отключенном и отмеченном/не отмеченном состояниях. | |
| 42 | 42 | - **Пользовательские цвета заголовков и настройки шрифта**: Шрифт заголовка можно изменить, если свойство `ThemedCaption` переключено на `false`. В случае `TRadioGroupEx` шрифт отдельных элементов может быть изменен только во время выполнения путем доступа к свойству `RadioGroup1.Buttons[Andex]`, указывающему на `TRadioButtonEx` по указанному индексу в радиогруппе. То же самое возможно и с `TCheckGroupEx`. | |
| 43 | 43 | ||
| 44 | - | ||
| 45 | - | ||
| 46 | - | ||
| 47 | - | ||
| 44 | + |  | |
| 48 | 45 | ||
| 49 | 46 | ### TCurrSpinEditEx | |
| 50 | 47 | ||
| 51 | 48 | Палитра *LazControls* по умолчанию уже содержит расширенный элемент управления spin edit для целых чисел и чисел с плавающей запятой (`TSpinEditEx` и `TFloatSpinEditEx`, соответственно). Недостающее в стандартной палитре редактирование для значений валюты реализовано в пакете *ExCtrls*. Регистрация компонента помещает `TCurrSpinEditEx` в палитру *LazControls*. | |
| 52 | 49 | ||
| 53 | 50 | **Новые и измененные свойства** | |
| 54 | 51 | ||
| 55 | 52 | - `Value`: Тип данных элемента управления `currency`. | |
| 56 | 53 | - `CurrencyString`: Название валюты, например '\$' или '€', добавляется к числовому значению в поле редактирования. Значение по умолчанию берется из `DefaultFormatSettings`, предоставленного модулем `SysUtils`. | |
| 57 | 54 | - `CurrencyFormat`: Задает порядок (положительного) числового значения и названия валюты в поле редактирования: | |
| 58 | 55 | - `secfCurrVal`: сначала строка валюты, без пробела (напр., '\$1') | |
| 59 | 56 | - `secfValCurr`: сначала значение, без пробела (напр., '1\$') | |
| 60 | 57 | - `secfCurrSpaceVal`: сначала строка валюты, значание через пробел (напр., '\$ 1'); | |
| 61 | 58 | - `secfValSpaceCurr`: сначала значение, валюат через пробел (напр., '1 \$'); | |
| 62 | 59 | - `NegCurrencyFormat`: Как и для `CurrencyFormat`, но теперь для отрицательных значений: | |
| 63 | 60 | - `sencfParCurrValPar`: сначала строка валюты, без пробела, вся строка заключена в круглые скобки (напр., '(\$1)') | |
| 64 | 61 | - `sencfMinusCurrVal`: сначала строка валюты с начальным знаком '-', без пробела (напр., '-1\$') | |
| 65 | 62 | - `sencfCurrMinusVal`: сначала строка валюты, без пробела, '-' перед значением (напр., '\$-1') | |
| 66 | 63 | - `sencfCurrValMinus`: сначала строка валюты, значение с добавленным '-' (напр., '\$1-') | |
| 67 | 64 | - и т.д. | |
| 68 | 65 | ||
| 69 | 66 | Другие допустимые значения это `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 | 67 | ||
| 71 | - | ||
| 68 | + | - `DecimalSeparator`: Символ, используемый для отделения десятичных знаков от целочисленной части. По умолчанию используется значение, определенное DefaultFormatSettings. | |
| 72 | 69 | - `ThousandSeparator`:Если не пустой (то есть не \#0), целочисленная часть значения форматируется с разделителем тысяч для лучшей читаемости. Обратите внимание, что элемент управления не позволяет DecimalSeparator и ThousandSeparator быть одинаковыми. | |
| 73 | 70 | ||
| 74 | - | ||
| 75 | - | ||
| 76 | - | ||
| 77 | - | ||
| 71 | + |  | |
| 78 | 72 | ||
| 79 | 73 | --- | |
| 80 | 74 | *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).* |
