Книга: Программирование на языке Ruby

12.3.4. Текстовые поля

12.3.4. Текстовые поля

FOX располагает полезными средствами для ввода текста. В следующем примере демонстрируется применение класса FXTextField для редактирования одной строки. Параметры определяют формат текста. Значение TEXTFIELD_PASSWD скрывает текст, являющийся паролем, TEXTFIELD_REAL позволяет вводить только действительные числа в научной нотации, a TEXTFIELD_INTEGER — только целые числа.

simple = FXTextField.new(main, 20, nil, 0,
 JUSTIFY_RIGHT|FRAME_SUNKEN|
 FRAME_THICK|LAYOUT_SIDE_TOP)
simple.text = "Simple Text Field"
passwd = FXTextField.new(main, 20, nil, 0,
 JUSTIFY_RIGHT|TEXTFIELD_PASSWD|
 FRAME_SUNKEN|FRAME_THICK|
 LAYOUT_SIDE_TOP)
passwd.text = "Password"
real = FXTextField.new(main, 20, nil, 0,
 TEXTFIELD_REAL|FRAME_SUNKEN|
 FRAME_THICK|LAYOUT_SIDE_TOP|
 LAYOUT_FIX_HEIGHT, 0, 0, 0, 30)
real.text = "1.0E+3"
int = FXTextField.new(main, 20, nil, 0, TEXTFIELD_INTEGER|
 FRAME_SUNKEN|FRAME_THICK|
 LAYOUT_SIDE_TOP|LAYOUT_FIX_HEIGHT,
 0, 0, 0, 30)
int.text = "1000"

Ниже показан простой способ ввода текста с помощью диалогового окна. В зависимости от выбранного метода можно будет вводить любой текст, только действительные или только целые числа.

puts FXInputDialog.getString("initial text",
 self, "Диалог для ввода текст",
 "Введите текст:", nil)
puts FXInputDialog.getInteger(1200, self,
 "Диалог для ввода целого числа",
 "Введите целое число:", nil)
puts FXInputDialog.getReal(1.03е7, self,
 "Диалог для ввода числа в научной нотации",
 "Введите действительное число:", nil)

Для экономии места мы не станем приводить полный текст приложения. Но, конечно, перед выводом диалогового окна необходимо выполнить обычную инициализацию.

Оглавление книги


Генерация: 0.037. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз