Access 2002

Удаление строки заголовка формы


После получения этих двух наборов координат процедуре GetCl ientOffsets остается только вычесть внешние координаты границы формы (полученные с помощью GetWindowRect) из внутренних (полученных с помощью Cl ientToScreen), поскольку внутренние границы окна формы расположены дальше от левого верхнего края экрана, чем ее внешние границы. В результате будут получены ширина левой и высота верхней границы формы. Полный текст процедуры GetClientOffsets приведен  7.24.

Хотя функции Windows API вызываются и в других процедурах класса Formlnfo, описания нескольких важнейших процедур этого класса достаточно для того, чтобы при желании вы могли разобраться и в остальных. В следующих разделах освещены специфические свойства и методы класса Formlnfo.

Иногда в приложении может понадобиться форма без строки заголовка. Access позволяет удалить границу формы, но отдельно удалить строку заголовка ее средствами нельзя. Можно удалить из нее все кнопки управления окном, заголовок, оставив вместо него пробел, но в верхней части формы все равно останется широкая полоса.

Для удаления строки заголовка формы требуется изменить стиль ее окна. Когда приложение просит Windows создать новое окно, оно указывает, каким должен быть стиль этого окна. В Windows API есть функции, позволяющие не только получить информацию о стиле окна, но даже изменить его уже после того, как окно создано. Наличие или отсутствие строки заголовка — это один из компонентов стиля окна, которые можно изменять. Именно это и делает приведенная  7.25 процедура Property Let ShowCapti onBaг, которую можно вызвать из обработчика события формы Open.

Для изменения стиля окна необходимо выполнить следующие действия:

1.   Получить текущий стиль окна (константа типа Long).

2.   Изменить биты, отвечающие за изменяемые элементы стиля. В нашем случае нужно обнулить бит, отвечающий за наличие у формы строки заголовка.

3.   Установить новое значение константы стиля окна.

Для получения и установки стиля окна служат функции Windows API Get- WindowLong и SetWindowLong.

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