Sign in Join
Wiki copytemporary

ExCtrls/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## О компоненте
22
33*ExCtrls* представляет собой набор элементов управления, которые пытаются преодолеть ограничения, накладываемые набором виджетов. Более того, добавлены некоторые недостающие элементы управления.
44
55### Авторство
66
77Пакет написан Werner Pamler (Вернером Памлером), но многократно использует большой код компонентов LCL, написанных командой Lazarus.
88
99### Лицензия
1010
1111Модифицированная LGPL (с исключением ссылок, как Lazarus LCL)
1212
1313### Загрузка и установка
1414
1515#### Версия для разработчиков
1616
1717Используйте клиент SVN для загрузки текущей версии транка из <svn://svn.code.sf.net/p/lazarus-ccr/svn/components/exctrls>. Или загрузите архив снапшота с <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/exctrls/> и распакуйте в какую-нибудь папку.
1818
1919#### Release версия
2020
2121Пока релизных версий нет.
2222
2323#### Установка
2424
2525В Lazarus перейдите через меню "Package"(Пакет) \> "Open Package File .lpk" (Открыть файл пакета .lpk). Перейдите в папку с исходниками ExCtrls и выберите exctrlspkg.lkp. Нажмите "Compile"(Компилировать), затем "Use"(Использовать) \> "Install"(Установить). Это запустит пересборку IDE (может занять некоторое время). Когда процесс будет завершен, IDE перезапустится, и вы найдете компоненты в палитрах **ExCtrls** и **LazControls**.
2626
2727## Использование
2828
2929### Простой код
3030
3131Применение каждого компонента демонстрируется проектом в папке *examples* вместе с кодом компонента.
3232
3333### TRadioButtonEx, TCheckBoxEx, TRadioGroupEx и TCheckGroupEx
3434
3535Эти компоненты повторно реализуют стандартные TRadioButton, TCheckBox, TRadioGroup и TCheckGroup, но наследуются от TCustomControl и, таким образом, рисуются не набором виджетов, а ThemeServices. Как следствие, существует меньше ограничений, связанных с набором виджетов, хотя компоненты выглядят и ведут себя как их исходные аналоги LCL.
3636
3737**Новые функции:**
3838
3939- **Переносимые заголовки**: Если для нового свойства `WordWrap` установлено значение `true`, длинные подписи переносятся по словам, чтобы соответствовать ширине элемента управления. Обратите внимание, что когда `AutoSize` активируется до включения `WordWrap`, заголовок изначально не переносится, и весь текст помещается в одну строку. Выключите `AutoSize` и уменьшите ширину элемента управления. После включения функции переноса текста можно снова включить `AutoSize`, чтобы отрегулировать высоту.
4040- **Расположение по вертикали**: `ButtonLayout` и `TextLayout` контролируют вертикальное положение флажка/радиокнопки и заголовка, соответственно. По умолчанию установлено значение `tlCenter`, то есть соответствующий элемент центрируется по вертикали в пределах элемента управления; другие значения: `tlTop` и `tlBottom`. Обычно `ButtonLayout` и `TextLayout` изменяются парами.
4141- **Предоставляемые пользователем изображение флажка**: Флажки и радиокнопки обычно рисуются ThemeServices, но можно предоставить выделенные битовые карты, которые можно использовать вместо них. Растровые изображения должны храниться в `TImageList`, прикрепленном к свойству `Images`. Соответствующий индекс изображения должен быть назначен в обработчике события `OnGetImageIndex`, имеющего соответствующие параметры, чтобы различать состояния при наведении курсора мыши, нажатии, а также включенном/отключенном и отмеченном/не отмеченном состояниях.
4242- **Пользовательские цвета заголовков и настройки шрифта**: Шрифт заголовка можно изменить, если свойство `ThemedCaption` переключено на `false`. В случае `TRadioGroupEx` шрифт отдельных элементов может быть изменен только во время выполнения путем доступа к свойству `RadioGroup1.Buttons[Andex]`, указывающему на `TRadioButtonEx` по указанному индексу в радиогруппе. То же самое возможно и с `TCheckGroupEx`.
4343
44-<figure>
45-<img src="checkcontrolsEx.png" title="checkcontrolsEx.png" />
46-<figcaption>checkcontrolsEx.png</figcaption>
47-</figure>
44+![](/wiki-images/7/78/CheckcontrolsEx.png)
4845
4946### TCurrSpinEditEx
5047
5148Палитра *LazControls* по умолчанию уже содержит расширенный элемент управления spin edit для целых чисел и чисел с плавающей запятой (`TSpinEditEx` и `TFloatSpinEditEx`, соответственно). Недостающее в стандартной палитре редактирование для значений валюты реализовано в пакете *ExCtrls*. Регистрация компонента помещает `TCurrSpinEditEx` в палитру *LazControls*.
5249
5350**Новые и измененные свойства**
5451
5552- `Value`: Тип данных элемента управления `currency`.
5653- `CurrencyString`: Название валюты, например '\$' или '€', добавляется к числовому значению в поле редактирования. Значение по умолчанию берется из `DefaultFormatSettings`, предоставленного модулем `SysUtils`.
5754- `CurrencyFormat`: Задает порядок (положительного) числового значения и названия валюты в поле редактирования:
5855 - `secfCurrVal`: сначала строка валюты, без пробела (напр., '\$1')
5956 - `secfValCurr`: сначала значение, без пробела (напр., '1\$')
6057 - `secfCurrSpaceVal`: сначала строка валюты, значание через пробел (напр., '\$ 1');
6158 - `secfValSpaceCurr`: сначала значение, валюат через пробел (напр., '1 \$');
6259- `NegCurrencyFormat`: Как и для `CurrencyFormat`, но теперь для отрицательных значений:
6360 - `sencfParCurrValPar`: сначала строка валюты, без пробела, вся строка заключена в круглые скобки (напр., '(\$1)')
6461 - `sencfMinusCurrVal`: сначала строка валюты с начальным знаком '-', без пробела (напр., '-1\$')
6562 - `sencfCurrMinusVal`: сначала строка валюты, без пробела, '-' перед значением (напр., '\$-1')
6663 - `sencfCurrValMinus`: сначала строка валюты, значение с добавленным '-' (напр., '\$1-')
6764 - и т.д.
6865
6966Другие допустимые значения это `sencfParValCurrPar` ('1\$'), `sencfMinusValCurr` ('-1\$'), `sencfValMinusCurr` ('1-\$'), `sencfValCurrMinus` ('1\$-'), `sencfMinusValSpaceCurr` ('-1 \$'), `sencfMinusCurrSpaceVal` ('-\$ 1'), `sencfValSpaceCurrMinus` ('1 \$-'), `sencfCurrSpaceValMinus` ('\$ 1-'), `sencfCurrSpaceMinusVal` ('\$ -1'), `sencfValMinusSpaceCurr` ('1- \$'), `sencfParCurrSpaceValPar` ('(\$ 1)'), `sencfParValSpaceCurrPar` ('(1 \$)')
7067
71-- `DecimalSeparator`: Символ, используемый для отделения десятичных знаков от целочисленной части. По умолчанию используется значение, определенное <tt>DefaultFormatSettings<tt>.
68+- `DecimalSeparator`: Символ, используемый для отделения десятичных знаков от целочисленной части. По умолчанию используется значение, определенное DefaultFormatSettings.
7269- `ThousandSeparator`:Если не пустой (то есть не \#0), целочисленная часть значения форматируется с разделителем тысяч для лучшей читаемости. Обратите внимание, что элемент управления не позволяет DecimalSeparator и ThousandSeparator быть одинаковыми.
7370
74-<figure>
75-<img src="savingscalculator.png" title="savingscalculator.png" />
76-<figcaption>savingscalculator.png</figcaption>
77-</figure>
71+![](/wiki-images/8/89/Savingscalculator.png)
7872
7973---
8074*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).*

Back to history