Difference between revisions of "ExCtrls/ru"

From Lazarus wiki
Jump to navigationJump to search
Line 36: Line 36:
  
 
===TCurrSpinEditEx===
 
===TCurrSpinEditEx===
The default ''LazControls'' palette contains already extended spin edit controls for integers and floating point numbers (<tt>TSpinEditEx</tt> and <tt>TFloatSpinEditEx</tt>, respectively). The missing edit for currency values is implemented in package ''ExCtrls''. Component registration put the <tt>TCurrSpinEditEx</tt> on the palette ''LazControls''.
+
Палитра ''LazControls'' по умолчанию уже содержит расширенный элемент управления spin edit для целых чисел и чисел с плавающей запятой (<tt>TSpinEditEx</tt> и <tt>TFloatSpinEditEx</tt>, соответственно). Недостающее в стандартной палитре редактирование для значений валюты реализовано в пакете ''ExCtrls''. Регистрация компонента помещает <tt>TCurrSpinEditEx</tt> в палитру ''LazControls''.
  
'''New and modified properties'''
+
'''Новые и измененные свойства'''
* <tt>Value</tt>: The data type of the control is <tt>currency</tt>.
+
* <tt>Value</tt>: Тип данных элемента управления <tt>currency</tt>.
* <tt>CurrencyString</tt>: The currency name, for example '$' or '€', is added to the numeric value in the edit box. The default value is taken from the <tt>DefaultFormatSettings</tt> provided by the <tt>SysUtils</tt> unit.
+
* <tt>CurrencyString</tt>: Название валюты, например '$' или '€', добавляется к числовому значению в поле редактирования. Значение по умолчанию берется из <tt>DefaultFormatSettings</tt>, предоставленного модулем <tt>SysUtils</tt>.  
* <tt>CurrencyFormat</tt>: Defines the order of (positive) numeric value and currency name in the edit field:  
+
* <tt>CurrencyFormat</tt>: Задает порядок (положительного) числового значения и названия валюты в поле редактирования:  
**<tt>secfCurrVal</tt>: currency string first, no space (e.g. '$1')
+
**<tt>secfCurrVal</tt>: сначала строка валюты, без пробела (напр., '$1')
**<tt>secfValCurr</tt>: value first, no space (e.g. '1$')
+
**<tt>secfValCurr</tt>: сначала значение, без пробела (напр., '1$')
**<tt>secfCurrSpaceVal</tt>: currency string first, space to value (e.g. '$ 1');
+
**<tt>secfCurrSpaceVal</tt>: сначала строка валюты, значание через пробел (напр., '$ 1');
**<tt>secfValSpaceCurr</tt>: value first, space to currency string (e.g. '1 $');
+
**<tt>secfValSpaceCurr</tt>: сначала значение, валюат через пробел (напр., '1 $');
* <tt>NegCurrencyFormat</tt>: Like <tt>CurrencyFormat</tt>, but now for negative values:
+
* <tt>NegCurrencyFormat</tt>: Как и для <tt>CurrencyFormat</tt>, но теперь для отрицательных значений:
**<tt>sencfParCurrValPar</tt>: currency string first, no space, the entire string is put in parenthesis (e.g. '($1)')
+
**<tt>sencfParCurrValPar</tt>: сначала строка валюты, без пробела, вся строка заключена в круглые скобки (напр., '($1)')
**<tt>sencfMinusCurrVal</tt>: currency string first with leading '-' character, no space (e.g. '-1$')
+
**<tt>sencfMinusCurrVal</tt>: сначала строка валюты с начальным знаком '-', без пробела (напр., '-1$')
**<tt>sencfCurrMinusVal</tt>: currency string first, no space, '-' at value (e.g. '$-1')
+
**<tt>sencfCurrMinusVal</tt>: сначала строка валюты, без пробела, '-' перед значением (напр., '$-1')
**<tt>sencfCurrValMinus</tt>: currency string first, value with appended '-' (eg. '$1-')
+
**<tt>sencfCurrValMinus</tt>: сначала строка валюты, значение с добавленным '-' (напр., '$1-')
** etc... Other allowed values are <tt>sencfParValCurrPar</tt> ('1$'), <tt>sencfMinusValCurr</tt> ('-1$'), <tt>sencfValMinusCurr</tt> ('1-$'), <tt>sencfValCurrMinus</tt> ('1$-'), <tt>sencfMinusValSpaceCurr</tt> ('-1 $'), <tt>sencfMinusCurrSpaceVal</tt> ('-$ 1'), <tt>sencfValSpaceCurrMinus</tt> ('1 $-'), <tt>sencfCurrSpaceValMinus</tt> ('$ 1-'), <tt>sencfCurrSpaceMinusVal</tt> ('$ -1'), <tt>sencfValMinusSpaceCurr</tt> ('1- $'), <tt>sencfParCurrSpaceValPar</tt> ('($ 1)'), <tt>sencfParValSpaceCurrPar</tt> ('(1 $)')
+
** и т.д.  
*<tt>DecimalSeparator</tt>: Character used to separate decimals from the integer part. Defaults to the value defined by the <tt>DefaultFormatSettings<tt>.
+
Другие допустимые значения это <tt>sencfParValCurrPar</tt> ('1$'), <tt>sencfMinusValCurr</tt> ('-1$'), <tt>sencfValMinusCurr</tt> ('1-$'), <tt>sencfValCurrMinus</tt> ('1$-'), <tt>sencfMinusValSpaceCurr</tt> ('-1 $'), <tt>sencfMinusCurrSpaceVal</tt> ('-$ 1'), <tt>sencfValSpaceCurrMinus</tt> ('1 $-'), <tt>sencfCurrSpaceValMinus</tt> ('$ 1-'), <tt>sencfCurrSpaceMinusVal</tt> ('$ -1'), <tt>sencfValMinusSpaceCurr</tt> ('1- $'), <tt>sencfParCurrSpaceValPar</tt> ('($ 1)'), <tt>sencfParValSpaceCurrPar</tt> ('(1 $)')
*<tt>ThousandSeparator</tt>:If not empty (i.e. not #0) the integer part of the Value is formatted with a thousand separator for better readability. Note that the control does not allow DecimalSeparator and ThousandSeparator to be equal.
+
*<tt>DecimalSeparator</tt>: Символ, используемый для отделения десятичных знаков от целочисленной части. По умолчанию используется значение, определенное <tt>DefaultFormatSettings<tt>.
 +
*<tt>ThousandSeparator</tt>:Если не пустой (то есть не #0), целочисленная часть значения форматируется с разделителем тысяч для лучшей читаемости. Обратите внимание, что элемент управления не позволяет DecimalSeparator и ThousandSeparator быть одинаковыми.
  
 
[[File:savingscalculator.png]]
 
[[File:savingscalculator.png]]

Revision as of 01:22, 23 May 2020

Template:MenuTranslate

О компоненте

ExCtrls представляет собой набор элементов управления, которые пытаются преодолеть ограничения, накладываемые набором виджетов. Более того, добавлены некоторые недостающие элементы управления.

Авторство

Пакет написан Werner Pamler (Вернером Памлером), но многократно использует большой код компонентов LCL, написанных командой Lazarus.

Лицензия

Модифицированная LGPL (с исключением ссылок, как Lazarus LCL)

Загрузка и установка

Версия для разработчиков

Используйте клиент SVN для загрузки текущей версии транка из svn://svn.code.sf.net/p/lazarus-ccr/svn/components/exctrls. Или загрузите архив снапшота с https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/exctrls/ и распакуйте в какую-нибудь папку.

Release версия

Пока релизных версий нет.

Установка

В Lazarus перейдите через меню "Package"(Пакет) > "Open Package File .lpk" (Открыть файл пакета .lpk). Перейдите в папку с исходниками ExCtrls и выберите exctrlspkg.lkp. Нажмите "Compile"(Компилировать), затем "Use"(Использовать) > "Install"(Установить). Это запустит пересборку IDE (может занять некоторое время). Когда процесс будет завершен, IDE перезапустится, и вы найдете компоненты в палитрах ExCtrls и LazControls.

Использование

Простой код

Применение каждого компонента демонстрируется проектом в папке examples вместе с кодом компонента.

TRadioButtonEx, TCheckBoxEx, TRadioGroupEx и TCheckGroupEx

Эти компоненты повторно реализуют стандартные TRadioButton, TCheckBox, TRadioGroup и TCheckGroup, но наследуются от TCustomControl и, таким образом, рисуются не набором виджетов, а ThemeServices. Как следствие, существует меньше ограничений, связанных с набором виджетов, хотя компоненты выглядят и ведут себя как их исходные аналоги LCL.

Новые функции:

  • Переносимые заголовки: Если для нового свойства WordWrap установлено значение true, длинные подписи переносятся по словам, чтобы соответствовать ширине элемента управления. Обратите внимание, что когда AutoSize активируется до включения WordWrap, заголовок изначально не переносится, и весь текст помещается в одну строку. Выключите AutoSize и уменьшите ширину элемента управления. После включения функции переноса текста можно снова включить AutoSize, чтобы отрегулировать высоту.
  • Расположение по вертикали: ButtonLayout и TextLayout контролируют вертикальное положение флажка/радиокнопки и заголовка, соответственно. По умолчанию установлено значение tlCenter, то есть соответствующий элемент центрируется по вертикали в пределах элемента управления; другие значения: tlTop и tlBottom. Обычно ButtonLayout и TextLayout изменяются парами.
  • Предоставляемые пользователем изображение флажка: Флажки и радиокнопки обычно рисуются ThemeServices, но можно предоставить выделенные битовые карты, которые можно использовать вместо них. Растровые изображения должны храниться в TImageList, прикрепленном к свойству Images. Соответствующий индекс изображения должен быть назначен в обработчике события OnGetImageIndex, имеющего соответствующие параметры, чтобы различать состояния при наведении курсора мыши, нажатии, а также включенном/отключенном и отмеченном/не отмеченном состояниях.
  • Пользовательские цвета заголовков и настройки шрифта: Шрифт заголовка можно изменить, если свойство ThemedCaption переключено на false. В случае TRadioGroupEx шрифт отдельных элементов может быть изменен только во время выполнения путем доступа к свойству RadioGroup1.Buttons[Andex], указывающему на TRadioButtonEx по указанному индексу в радиогруппе. То же самое возможно и с TCheckGroupEx.

checkcontrolsEx.png

TCurrSpinEditEx

Палитра LazControls по умолчанию уже содержит расширенный элемент управления spin edit для целых чисел и чисел с плавающей запятой (TSpinEditEx и TFloatSpinEditEx, соответственно). Недостающее в стандартной палитре редактирование для значений валюты реализовано в пакете ExCtrls. Регистрация компонента помещает TCurrSpinEditEx в палитру LazControls.

Новые и измененные свойства

  • Value: Тип данных элемента управления currency.
  • CurrencyString: Название валюты, например '$' или '€', добавляется к числовому значению в поле редактирования. Значение по умолчанию берется из DefaultFormatSettings, предоставленного модулем SysUtils.
  • CurrencyFormat: Задает порядок (положительного) числового значения и названия валюты в поле редактирования:
    • secfCurrVal: сначала строка валюты, без пробела (напр., '$1')
    • secfValCurr: сначала значение, без пробела (напр., '1$')
    • secfCurrSpaceVal: сначала строка валюты, значание через пробел (напр., '$ 1');
    • secfValSpaceCurr: сначала значение, валюат через пробел (напр., '1 $');
  • NegCurrencyFormat: Как и для CurrencyFormat, но теперь для отрицательных значений:
    • sencfParCurrValPar: сначала строка валюты, без пробела, вся строка заключена в круглые скобки (напр., '($1)')
    • sencfMinusCurrVal: сначала строка валюты с начальным знаком '-', без пробела (напр., '-1$')
    • sencfCurrMinusVal: сначала строка валюты, без пробела, '-' перед значением (напр., '$-1')
    • sencfCurrValMinus: сначала строка валюты, значение с добавленным '-' (напр., '$1-')
    • и т.д.

Другие допустимые значения это sencfParValCurrPar ('1$'), sencfMinusValCurr ('-1$'), sencfValMinusCurr ('1-$'), sencfValCurrMinus ('1$-'), sencfMinusValSpaceCurr ('-1 $'), sencfMinusCurrSpaceVal ('-$ 1'), sencfValSpaceCurrMinus ('1 $-'), sencfCurrSpaceValMinus ('$ 1-'), sencfCurrSpaceMinusVal ('$ -1'), sencfValMinusSpaceCurr ('1- $'), sencfParCurrSpaceValPar ('($ 1)'), sencfParValSpaceCurrPar ('(1 $)')

  • DecimalSeparator: Символ, используемый для отделения десятичных знаков от целочисленной части. По умолчанию используется значение, определенное DefaultFormatSettings.
  • ThousandSeparator:Если не пустой (то есть не #0), целочисленная часть значения форматируется с разделителем тысяч для лучшей читаемости. Обратите внимание, что элемент управления не позволяет DecimalSeparator и ThousandSeparator быть одинаковыми.

savingscalculator.png