Страница 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