Сохранение размеров, позиции и состояния окна

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Приведу код WindowRestorer — восстановителя размера и состояния окна.

ОПИСАНИЕ: Вы наверное замечали, что профессионально написанные программы «запоминают» состояние и позицию окон с момента их последнего показа? А большинство RAD-приложений это игнорируют? Вы можете исправить эту ошибку, взяв на вооружение этот модуль. Он позволяет сохранять позицию, размер и состояние окна, поэтому пользователь, открыв его вновь, увидит его в том же состоянии, в котором он видел его в последний раз.

ИСПОЛЬЗОВАНИЕ: Поместите WINRSTOR в список используемых модулей главной или любой другой формы, состояние, размер и позицию которой вы хотите сохранить. (Если вы сэкономить время и для восстановления дочерних форм использовать WinSaveChildren и WinRestoreChildren из главной формы, вы должны объявить этот модуль только в главной форме.)

В MainForm.Create, инициализируйте глобальный объект WinRestorer следующим образом (он должен предварительно быть объявлен, но еще не инициализирован):

GlobalWinRestorer := TWinRestorer.create( Application, TRUE, WHATSAVE_ALL);

Или так:

GlobalWinRestorer := TWinRestorer.create( Application, TRUE, [location, size, state]);

Затем в MainForm.Destroy вы должны разрушить глобальный объект WinRestorer следующим образом:

GlobalWinRestorer.free;

Хорошее место для сохранения статуса формы — в обработчике события queryclose или в специально созданной кнопке или пункте меню. Я обычно создаю этот пункт в меню «Файл» с именем ‘

Добавить комментарий