Страница 1 из 1
text field
Добавлено: 28 Август 2005, 19:05
gusag
Подскажите, пожалуйста, как ограничить в text field количество строчек? Если это невозможно, то как отслеживать каждое нажатие клавишь. Заранее спасибо. Два дня бьюсь. Ничего не получается.

Добавлено: 29 Август 2005, 0:28
Admin
Перевод строки = <13,10>
Добавлено: 29 Август 2005, 0:29
Admin
У полей ?Text есть ?Text{PROP:Lines} = количество строк в поле типа Текст
Добавлено: 29 Август 2005, 11:01
gusag
На такое свойство выдается ошибка, мол нет его.
Насчет перевода строки я в курсе. А как можно отслеживать каждое нажатие клавиши? Если проверять содержимое поля после нажатия кнопки ОК, то проблем нет. А во время набора? В том-то задача и стоит, что бы был счетчик, на котором юзер мог видеть сколько символов он может еще ввести. В поле entry есть такая штука как NewSelection, с помощью которой я делал подобное, а в текстовом ничего подобного не наблюдаю.

Добавлено: 29 Август 2005, 11:20
Гость
?Text{PROP:Lines} - есть свойство Text{PROP:LineCount} - но оно RO.
А отслеживать нажатия нужно как обычно и универсально - калбечиться текстовый контрол, в оконном обработчике событий обрабатываем WM_CHAR (в параметре WParam будет код нажатой кнопки)
Добавлено: 29 Август 2005, 13:00
Гость
В догонок - в аттаче простейший пример демонстрирующий написанное мною в предыдущем посте.
Добавлено: 29 Август 2005, 14:04
Admin
Код: Выделить всё
ACCEPT
CASE EVENT()
OF EVENT:TextPressKey
IF ?TextString{PROP:LineCount} > 3
MESSAGE('Нельзя вводить больше трех строк!')
END
END
END