|
Begin if not (Key in Digit) then
Key:=#0; Напоследок о возможности программного управления курсором и выделения текста в компоненте Delphi Edit. Для реализации этих задач служат свойства
Все эти свойства доступны и для чтения, и для записи. - Свойство SelStart (типа Integer) определяет порядковый номер символа, перед которым находится курсор. Отсчёт идёт от нуля; - Свойство SelLength (типа Integer) задаёт количество выделенных символов. Причём оно может быть и отрицательным. Тогда выделение идёт в обратную сторону, справа налево; - Свойство SelText (типа String) содержит выделенный текст. Чтобы выделенный текст был заметен, необходимо, чтобы компонент Edit обладал фокусом ввода. Для перемещения фокуса ввода к нужному компоненту служит свойство SetFocus. То есть, чтобы было видно выделение второго символа, нужно написать: begin
Если пропустить первый оператор, то свойство SelText всё равно будет содержать в себе второй символ, но на экране заметно этого не будет, если, конечно, фокус ввода не был перемещён туда ранее. Компонент Delphi Memo это простой текстовый редактор. Delphi Memo позволяет вводить многострочный текст с клавиатуры, загружать его из файла, редактировать и сохранять в файл текстового формата. Простота текстового редактора компонента Delphi Memo заключается в том, что текстовый редактор Delphi Memo не обладает возможностями форматирования содержещегося в нём текста. Это означает, что все атрибуты выбранного шрифта будут относиться ко всему тексту. Текст в компоненте Delphi Memo размещается построчно. Поэтому имеется доступ к каждой строке текста отдельно. Строки в редакторе Delphi Memo являются объектами Lines[i] типа String, где i - номер строки, отсчитываемый от нуля. Объект Lines[i] доступен и для чтения, и для записи. Соответственно, текст в компоненте Memo можно редактировать не только с клавиатуры, но и программно: var S: String; begin S:=Memo1.Lines[3]; Естественно, для успешного присвоения текста определённой строке необходимо, чтобы эта строка физически существовала! То есть, данным способом можно только редактировать текст. Новую строку создать таким способом невозможно. Для создания новых строк служат методы
Метод Add() добавляет новую строку в конец, а метод Insert() внедряет новую строку после указанной, для чего метод Insert() имеет соответствующий параметр: begin Memo1.Lines.Insert(2, 'Эта строка будет четвёртой'); //Так как отсчёт идёт от нуля! end;
Компонент Delphi Memo позволяет получить доступ к тексту как целому. Свойство Text типа String является текстом, содержащимся в редакторе, в виде одной строки. Необходимо учитывать, что эта строка также будет включать в себя и непечатаемые символы конца строки #13 и символы переноса строки #10. Кстати, чтобы продолжить текст с новой строки, необходимо использовать последовательно оба этих символа: Memo1.Text:='Предыдущий текст'+#13+#10+'Это уже новая строка';
Delphi Memo обладает свойствами для перемещения курсора и выделения текста, такими же, как и у компонента Delphi Edit:
Напоминаю:
Для того, чтобы выделение текста было заметно на экране, небходимо, чтобы компонент обладал фокусом ввода. То есть, чтобы ранее либо пользователь переместил туда курсор, клавишей Tab или щёлкнув мышкой, либо был выполнен оператор Memo1.SetFocus.
Просмотров: 849 Вернуться в категорию: Строительство |
© 2013-2021 cozyhomestead.ru - При использовании материала "Удобная усадьба", должна быть "живая" ссылка на cozyhomestead.ru.
|