![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
IfRichEdit1.Modified then
CaseApplication.MessageBox('Сохранить данные? ', 'Выберите операцию', MB_YESNOCANCEL) of IDYES: {действия по сохранению данных}; IDNO: Action: =caHide; {отказ от сохранения данных} IDCANCEL: Action: =caNone; {отмена закрытия формы} end; end;
Перед закрытием формы программист опрашивает свойство Modified расширенного редактора RichEdit1 (потомка класса TCustomEdit). Если текст компонента был модифицирован, пользователь получает уведомление об этом с одновременным предложением сохранить данные. У потомков TCustomEdit предусмотрена возможность отмены последних изменений в редактируемом тексте. Если содержимое свойства Text изменялось и элемент управления помнит его предыдущее значение, то в true устанавливается свойство:
property CanUndo: Boolean; // только для чтения
В таком случае откат обеспечит метод: procedure Undo;
Полную очистку текста осуществляет метод: procedure Clear; virtual;
Текстовые файлы DOS и Windows используют различную кодировку символов (соответственно OEM и ANSI или Unicode). Работая в Win32, при выводе на экран файла в кодировке, принятой в MS-DOS, мы получим текст в нечитаемом представлении. Чтобы избежать подобной проблемы, используйте свойство:
property OEMConvert: Boolean; При изменении кодировки символов не забывайте о наличии у класса шрифтов ( TFont ) свойства CharSet, определяющего номер набора символов шрифта. Для вывода кириллицы используйте RUSSIAN_CHARSET. При каждом изменении текста вызывается обработчик события: property OnChange: TNotifyEvent;
Автоматическую подстройку вертикального размера элемента управления под высоту используемого шрифта осуществляет свойство: property AutoSize: Boolean; Строка ввода – класс TEdit
Класс TEdit инкапсулирует стандартный элемент управления Windows. Компонент почти на 100% состоит из свойств и методов, ранее опубликован- ных у его предка TCustomEdit. Единственное, на чем следует еще раз заострить внимание, – событие OnChange(). Ключевое событие строки ввода очень часто используется с целью организации взаимодействия текстового элемента с другими элементами управления или с функциями Windows API. procedure TForm1.Edit1Change(Sender: TObject); Begin Button1.Enabled: =(Edit1.text< > ’’); end;
Листинг демонстрирует способ включения и отключения кнопки при изменении содержимого строки ввода. Этот пример может пригодиться при разработке диалоговых окон, требующих обязательного ввода какой-то информации, например пароля. И пока строка ввода пуста, кнопка OK диалогового окна остается недоступной. Не используйте событие строки ввода OnChange() для изменения собственного свойства Text. В этом случае высока вероятность зацикливания процедуры обработки события.
|