IfRichEdit1.Modified then
CaseApplication.MessageBox('Сохранить данные?','Выберите операцию',MB_YESNOCANCEL) of
IDYES : {действия по сохранению данных};
IDNO : Action:=caHide; {отказ от сохранения данных}
IDCANCEL : Action:=caNone; {отмена закрытия формы}
end;
end;
Перед закрытием формы программист опрашивает свойство Modified расширенного редактора RichEdit1 (потомка класса TCustomEdit). Если текст компонента был модифицирован, пользователь получает уведомление об этом с одновременным предложением сохранить данные. У потомков TCustomEdit предусмотрена возможность отмены последних изменений в редактируемом тексте. Если содержимое свойства Text изменялось и элемент управления помнит его предыдущее значение, то в true устанавливается свойство:
propertyCanUndo: Boolean; // только для чтения
В таком случае откат обеспечит метод:
procedureUndo;
Полную очистку текста осуществляет метод:
procedureClear; virtual;
Текстовые файлы DOS и Windows используют различную кодировку символов (соответственно OEM и ANSI или Unicode). Работая в Win32, при выводе на экран файла в кодировке, принятой в MS-DOS, мы получим текст в нечитаемом представлении. Чтобы избежать подобной проблемы, используйте свойство:
propertyOEMConvert: Boolean;
При изменении кодировки символов не забывайте о наличии у класса шрифтов (TFont) свойства CharSet, определяющего номер набора символов шрифта. Для вывода кириллицы используйте RUSSIAN_CHARSET.
При каждом изменении текста вызывается обработчик события:
propertyOnChange: TNotifyEvent;
Автоматическую подстройку вертикального размера элемента управления под высоту используемого шрифта осуществляет свойство:
propertyAutoSize: Boolean;
Строка ввода – класс TEdit
Класс TEdit инкапсулирует стандартный элемент управления Windows.
Компонент почти на 100% состоит из свойств и методов, ранее опубликован-
ных у его предка TCustomEdit. Единственное, на чем следует еще раз заострить внимание, – событие OnChange(). Ключевое событие строки ввода очень часто используется с целью организации взаимодействия текстового элемента с другими элементами управления или с функциями Windows API.
procedureTForm1.Edit1Change(Sender: TObject);
Begin
Button1.Enabled:=(Edit1.text<>’’);
end;
Листинг демонстрирует способ включения и отключения кнопки при изменении содержимого строки ввода. Этот пример может пригодиться при разработке диалоговых окон, требующих обязательного ввода какой-то информации, например пароля. И пока строка ввода пуста, кнопка OK диалогового окна остается недоступной.
Не используйте событие строки ввода OnChange() для изменения собственного свойства Text. В этом случае высока вероятность зацикливания процедуры обработки события.
Дата добавления: 2016-03-15; просмотров: 585;