Вкладка RX Tools. Компоненты TFormStorage и TFormPlacement

   
На этом шаге мы рассмотрим компоненты TFormStorage и TFormPlacement.

   
Компонент TFormStorage сохраняет и восстанавливает размеры и положение формы, которой он
принадлежит, а также может сохранить значения любых published-свойств любых других компонентов
этой же формы. Компонент предназначен для работы с формами всех стилей: Normal, MDIForm,
MDIChild, StayOnTop. Сохранение происходит перед уничтожением формы, а восстановление перед
тем, как форма станет видимой. Необходимая информация сохраняется в INI-файле. Используемый INI-файл
можно задать с помощью свойства IniFileName. Свойство Active определяет, будет ли происходить
сохранение/восстановление.

   
Свойство Options позволяет указать, какие параметры формы будут восстанавливаться при чтении из INI-файла.
В дизайнере Delphi вы можете указать также список свойств других компонентов формы, которые будут сохраняться и
восстанавливаться из INI-файла. Для хранения имен этих свойств служит свойство StoredProps. Заметьте, что
может оказаться важным порядок следования имен сохраняемых/восстанавливаемых свойств, особенно при восстановлении их
значений из INI-файла.

   
Если вы хотите сохранять только размеры и положение формы, то воспользуйтесь компонентом TFormPlacement, являющимся
предком TFormStorage и не содержащим методов для сохранения/восстановления значений свойств других компонентов формы.

   
Компонент TFormPlacement сохраняет и восстанавливает размеры и положение формы, которой он принадлежит.
Компонент предназначен для работы с формами всех стилей: Normal, MDIForm, MDIChild, StayOnTop
и т.д. Сохранение происходит перед уничтожением формы, а восстановление перед тем, как форма станет видимой. Необходимая
информация о размерах и положении сохраняется в INI-файле. Используемый INI-файл можно задать с помощью
свойства IniFileName.

   
Свойство Active определяет, будет ли происходить сохранение/восстановление. Свойство Options позволяет указать,
какие параметры формы будут восстанавливаться при чтении из INI-файла. В большинстве случаев достаточно поместить
компонент из палитры в форму - необходимые действия будут происходить автоматически при показе/скрытии формы.

Таблица 1. Свойства и методы компонентов TFormStorage и TFormPlacement

СвойствоОписание
property Active: Boolean;Свойство определяет, будет ли компонента восстанавливать состояние формы при загрузке и сохранять его при уничтожении формы.
property IniFileName: string;С помощью этого свойства можно определить INI-файл, используемый для хранения информации о размерах и
положении формы (для компонент TFormPlacement, TFormStorage). По умолчанию, свойство содержит пустую строку,
что означает использование INI-файла приложения (имя исполнимого файла приложения, предоставляемого
свойством ExeName без пути, плюс расширение '.INI'). Если файл не существует, то он будет создан. В некоторых
случаях вы можете задать имя файла.
function GetDefaultIniName: string; Функция возвращает имя INI-файла "по умолчанию" для приложения. Таковым она считает имя EXE-файла
(получаемое с помощью Application.ExeName) с расширением ".INI", при этом из имени удаляется путь, что задает размещение
INI-файла в директории Windows.
property Options: TPlacementOptions;Значения этого свойства определяют, какие параметры формы будут сохраняться/восстанавливаться компонентами
TFormStorage и TFormPlacement. Следующие значения могут быть включены в свойство Options:

  • fpState - состояние формы (нормальное, максимизированное, минимизированное);
  • fpPosition - положение и размеры формы;
  • fpActiveControl - активный элемент управления на форме (значение свойства ActiveControl формы-владельца).
property StoredProps: TStrings; (только для компонента TFormStorage)Свойство служит для сохранения списка свойств других компонентов, которые (свойства) будут сохраняться при
уничтожении формы в INI-файле и восстанавливаться при ее открытии. Для сохранения доступны любые
published-свойства других компонентов формы. Однако dы должны четко представлть себе, что произойдет при
восстановлении значений этих свойств. Заметьте, что может оказаться важным порядок восстановления значений различных
свойств из INI-файла. Редактор свойства StoredProps предосталвяет вам возможность задать порядок расположения
строк в этом списке.

   
Рассмотрим пример, показывающий использование компонента TFormStorage. На форму поместим компоненты: TFormStorage
и TTrackBar (рис. 1).


Рис.1. Форма с размещенными компонентами

   
Свойство Active компонента TFormStorage установим в True, свойству IniFileName придаем любое
значение-имя нашего INI-файла, у свойства Options все параметры устанавливаем в значение True. Выбрав свойство
StoredProps мы увидим окно редактора свойств (рис. 2). Для компонента TTrackBar (Components | TrackBar1) выбираем свойство
Position (Properties | Position) и добавляем в список Stored Properties нажатием кнопки Add.


Рис.2. Окно редактора свойств

   
После запуска нашего приложения появится окно с бегунком. Мы изменим положение окна, а так же его размеры, позицию бегунка и закроем
его. Перед закрытием, в директории Windows будет создан INI-файл, в котором распологаются соответствующие
свойства нашего приложения. При следующем запуске приложения, данные из INI-файла будут считаны и окно появится в той позиции
экрана, того размера и с тем значением бегунка, с которыми оно было закрыто.

Текст этого примера можно взять здесь.

   
На следующем шаге мы рассмотрим компонент TRxWindowHook.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий