TFormStorage Component
Unit
Placemnt

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

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

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



Declaration
property IniFileName: string;

Description
С помощью этого свойства можно определить INI-файл используемый для хранения информации о размерах и положении формы (для компонент TFormPlacement, TFormStorage) или имени пользователя БД (TDBSecurity).
По умолчанию, свойство содержит пустую строку, что означает использование INI-файла приложения (имя исполнимого файла приложения, предоставляемого свойством ExeName без пути, + расширение '.INI'). Если файл не существует, то он будет создан. В некоторых случаях вы можете задать имя файла.

ПРИМЕЧАНИЕ
Если вы оставили значение свойства пустым в дизайнере Delphi, во время выполнения оно будет равно значению, возвращаемому функцией GetDefaultIniName.



Declaration
function GetDefaultIniName: string;
Description
Функция возвращает имя INI-файла "по умолчанию" для приложения. Таковым она считает имя EXE-файла (получаемое с помощью Application.ExeName) с расширением ".INI", при этом из имени удаляется путь, что задает размещение INI-файла в директории Windows.

Declaration

property Active: Boolean;

Description
Свойство определяет будет ли компонента восстанавливать состояние формы и заданные свойства при загрузке и сохранять их при уничтожении формы.



Declaration
property Options: TPlacementOptions;

Description
Значения свойства Options определяют, какие параметры формы будут сохраняться/восстанавливаться компонентой TFormStorage. Следующие значения могут быть включены в свойство Options:
fpState — состояние формы (нормальное, максимизированное, минимизированное);
fpPosition — положение и размеры формы;

fpActiveControl — активный элемент управления на форме (значение свойства ActiveControl формы-владельца).



Declaration
property StoredProps: TStrings;

Description
Свойство служит для сохранения списка свойств других компонент, которые (свойства) будут сохраняться при уничтожении формы в INI-файле и восстанавливаться при ее открытии.
Для сохранения доступны любые published-свойства других компонент формы. Однако Вы должны четко представлть себе, что произойдет при восстановлении значений этих свойств. Заметьте, что может оказаться важным порядок восстановления значений различных свойств из INI-файла. Редактор свойства StoredProps предосталвяет Вам возможность задать порядок расположения строк в этом списке.



Purpose
Компонента служит для сохранения и восстановления в INI-файле любых published-свойств компонент, принадлежащих форме.
Tasks
Используйте TFormStorage:
- для сохранения положения перемещаемой "разделительной полоски" между компонентами TRxSplitter, в этом случае Вам надо сохранить значение ширины или высоты (свойства Width, Heigth, в зависимости от значения свойства Align) той компоненты, размерами которой непосредственно управляет TRxSplitter (эта одна из компонент, определяемых его свойствами ControlFirst, ControlSecond).

- для сохранения активной страницы компонент TNotebook, TTabbedNotebook или TPageControl путем сохранения свойства ActivePage или PageIndex.
- для сохранения и восстановления содержимого текстовых редакторов TEdit (свойство Text) или TMemo (свойство Lines), расположенных в Вашей форме.

- для сохранения состояния элементов управления, таких как TCheckBox, TRadioGroup и т.д.
- для сохранения и восстановления размеров, состояния и положения формы, а также активного элемента управления в ней.
- для ограничения изменения размеров формы со стилем рамки bsSizeable, bsSizeToolWin.