Access 2002

Сохранение и восстановление координат формы


Методы SaveCoords и RetreiveCoords класса Formlnfo позволяют сохранять координаты формы в системном реестре и восстанавливать их из реестра. В VBA для работы с реестром предусмотрены четыре процедуры.

Возможности этих процедур ограниченны, поскольку они работают только с подразделами одного-единственного раздела:

HKEY_CURRENT_USERSoftwaгеVB and VBA Programs

(Если вы захотите углубиться в этот вопрос, обратитесь к главам 14 и 15, где описываются различные способы работы с системным реестром.)

Использование процедур SaveSetting и GetSetting

Процедура SaveSettings позволяет изменить значение существующего параметра или добавить в реестр новый параметр. Вот ее синтаксис:

Оболочки для процедур SaveSetting и GetSetting

Теперь, когда вы знаете, как работать с системным реестром Windows, можно познакомиться с программным кодом методов RetreiveCoords и SaveCoords класса Formlnfo. Оба они очень просты. Метод SaveCoords вызывает процедуру SaveSetting для каждого из сохраняемых в реестре значений, передавая ей указанное вами имя приложения и имя формы, а также строковую константу, которая будет служить именем параметра в реестре.  7.27 приведен его полный код.

Процедура RetreiveCoords аналогична, только вместо SaveSetting в ней вызывается процедура GetSetting, а возвращаемые ею значения присваиваются свойствам формы. Если к моменту закрытия форма была минимизирована, процедура ее минимизирует, а если максимизирована, процедура не произведет никакого действия.

Что дальше?

Итак, вы познакомились с классом Formlnfo и узнали, как использовать предоставляемые им свойства и методы. Вы увидели, как работают многие из этих процедур, хотя мы и не обсуждали каждую строку их кода. Возможно, вам будет интересно изучить личные процедуры нашего класса GetCoords и GetParentCoords (они вычисляют координаты окон и их родительских окон) и исследовать метод Center, который с их помощью центрирует заданную форму.

Комментарии закрыты