Учись программированию на C++ Builder бесплатно!
Содержание[Скрыть]

Компонент UpDown

Компонент UpDown позволяет унифицировать окно редактирования Edit таким образом, что пользователь сможет изменять целое число, с помощью кнопок со стрелками. Если свойству окна ввода ReadOnly установить в true, то пользователь будет запрещено вводить в Edit цифры, включая и текст, тем самым ограничив его выбором числа через UpDown.

UpDown1->Associate = Edit1; //Связывает компонент UpDown с окном ввода Edit
Edit1->ReadOnly = true; //Запрещает ввод/изменение в Edit

Если компоненту Edit не задавать свойство ReadOnly равным true, то пользователь сможет в окне ввода изменять число, не используя кнопки со стрелками. Конечно, это очень удобно, когда речь идёт о больших цифрах. Но следует учитывать, что в таком случае проявляется весомый недостаток компонента UpDown. Пользователь сможет по ошибке ввести не цифры, а символы, что приведёт к ошибкам. Можно решить этот недостаток, применив алгоритм, который запрещает пользователю вводить в Edit любые символы, кроме цифр. Можно всё гораздо упростить и воспользоваться компонентом CSpinEdit.

Пример использования компонента UpDown

Свойства компонента UpDown

  • Associate (основное и обязательное свойство компонента UpDown) – связывает кнопки со стрелками с компонентами, например с окном ввода Edit. Чтобы привязать компонент UpDown к Edit можно воспользоваться кодом, представленном выше, либо с помощью Object Inspector - компонента UpDownв выпадающем списке свойства Associate выбрать Edit1.
  • AlignButton – принимает значения udRight или udLeft и определяет с которой стороны компонент UpDown будет расположен от привязанного компонента справа или слева.
  • Orientation – принимает значения udVertical или udHorizontalи определяет как располагать кнопки по горизонтали (одна рядом с другой) или по вертикали (одна под другой).
  • ArrowKeys – устанавливает управление компонентом UpDown клавишами клавиатуры с помощью стрелок.
  • Thousands – устанавливает разделительный пробел между каждыми тремя цифрами (1 000, 1 000 000).
  • Min и Мах – задают компоненту UpDown минимальное и максимальное значения изменяемых чисел.
  • Increment – задаёт приращение числа при каждом нажатии на кнопку.
  • Position – определяет текущее значение числа. Через это свойство можно считывать значения, вводимые пользователем. Так же значение можно задать во время программирования в диапазоне Min-Мах. В этом случае значение числа будет по умолчанию и отображаться в окне во время запуска приложения.
  • Wrap – задаёт поведение компоненту UpDown при достижении минимального или максимального значений. Если свойство Wrap установлено в false, то при уменьшении или увеличении числа до указанных значении в свойствах Min и Мах, то соответствующая стрелка становится не активной и изменение числа в ту сторону прекращается. Если свойство Wrap установлено в true, то в этом случае происходит «закольцовывание» чисел в пределах установленных минимального и максимального значения.

Компонент CSpinEdit

Компонент CSpinEdit представляет из себя совокупность двух компонентов Edit и UpDown, уже связанных между собой.

Пример использования компонента CSpinEdit

Свойства компонента CSpinEdit

У компонента CSpinEdit все свойства схожи с UpDown, за исключением нескольких свойств: Min, Max и Position, которые называются MinValue, MaxValue, Value. Отличие этих свойств только в названии.

Компонент CSpinEdit в использовании гораздо удобнее, чем сочетание двух компонентов UpDown и Edit. Если не требуются дополнительные возможности UpDown, такие как горизонтальное расположение кнопок, «закольцовывание» изменений, то рекомендуется использовать компонент CSpinEdit.

Поделиться