Как убрать заголовок формы access
Перейти к содержимому

Как убрать заголовок формы access

Иллюстрированный самоучитель по Microsoft Access 2002

Структура формы такова: макет формы состоит из разделов. Любая форма может включать следующие разделы:

  • раздел Заголовок формы (Form Header) определяет верхнюю часть формы. Этот раздел добавляется в форму вместе с разделом примечания формы. В область заголовка формы можно поместить текст, графику и другие элементы управления. При печати многостраничной формы раздел заголовка отображается только на первой странице;
  • раздел Верхний колонтитул (Page Header) определяет верхний колонтитул страницы при печати формы. Этот раздел добавляется в форму вместе с разделом, определяющим нижний колонтитул страницы, и отображается только когда форма открыта в режиме Предварительного просмотра. При печати многостраничной формы верхний колонтитул отображается вверху каждой страницы;
  • раздел Область данных (Detail) определяет основную часть формы, содержащую данные, полученные из источника. Данный раздел может содержать элементы управления, отображающие данные из таблиц и запросов, а также неизменяемые данные, например надписи. При печати многостраничной формы этот раздел отображается на каждой странице;
  • раздел Нижний колонтитул (Page Footer) определяет нижний колонтитул страницы при печати формы. Этот раздел добавляется в форму вместе с разделом, определяющим верхний колонтитул страницы. Он отображается только когда форма открыта в режиме Предварительного просмотра. При печати многостраничной формы нижний колонтитул отображается внизу каждой страницы;
  • раздел Примечание формы (Form Footer) определяет нижнюю часть формы. Этот раздел добавляется в форму вместе с разделом заголовка формы. При печати многостраничной формы примечание формы будет отображено только внизу последней страницы.

Разделы формы в режиме Конструктора представлены на рис. 5.9. Чтобы надписи, обозначающие разделы формы, были лучше видны, мы скрыли сетку, облегчающую разметку формы (сетка видна на рис. 5.8), с помощью команды меню Вид › Сетка (View › Grid).

Рис. 5.9. Разделы формы Access

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

Замечание
Хотя форма, изображенная на рис. 5.8, имеет оба раздела заголовка и примечания формы, эти области не отображаются в режиме Формы, поскольку оба раздела имеют нулевую высоту. При создании новой пустой формы при помощи Конструктора форм разделы заголовка и примечания не добавляются
.

Для добавления или удаления разделов заголовка и примечания формы выберите команду Вид › Заголовок/примечание формы (View › Form Header/Footer). Если форма уже содержит эти разделы, то команда Заголовок/примечание формы будет отмечена флажком. Для удаления разделов заголовка и примечания формы сбросьте этот флажок.

Для добавления или удаления разделов верхнего и нижнего колонтитулов страницы выберите команду Вид › Колонтитулы (View › Page Header/Footer). Если форма уже содержит эти разделы, то команда Колонтитулы будет отмечена флажком. Для удаления разделов верхнего и нижнего колонтитула страницы сбросьте этот флажок.

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

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

Высота раздела области данных определяется вертикальным размером окна формы, а также размером заголовка и примечания формы. Для изменения высоты раздела области данных переместите его нижнюю границу при помощи мыши вверх (для уменьшения высоты) или вниз (для увеличения). В режиме Формы вертикальная полоса прокрутки в окне формы появляется только для просмотра раздела области данных.

Как убрать заголовок формы access

Откройте форму или отчет в конструкторе или макете.

В области навигации щелкните форму или отчет правой кнопкой мыши и выберите в shortcut-меню пункт «Конструктор» или «Макет».

На вкладке «Конструктор» в группе «Конструктор» нажмите кнопку «Заголовок».

В заголовок формы или отчета добавляется новая метка, а в качестве названия отображается имя формы или отчета.

После создания подписи текст в подписи автоматически будет выбран, и вы сможете изменить его, введя нужное название.

По завершению нажмите ввод.

Изменение существующей формы или заголовка отчета

Поместите курсор в надпись с названием, дважды щелкнув ее.

Введите текст, который вы хотите использовать в качестве заголовка, а затем нажмите ввод, когда закончите.

MS Access 2016 — удалить строку заголовка из формы, открытой как AcDialog

Я пытаюсь воспроизвести полноэкранный модальный диалог в стиле Windows 10 с прозрачным фоном. У меня все работает отлично, кроме строки заголовка.

Как это выглядит сейчас

Я не могу избавиться от этого. Я также отключил любые другие подклассы API для прозрачности окна. Для Borderstyle установлено значение «Нет», я скрыл все элементы управления в строке заголовка. Форма настроена на всплывающее окно и модальное

Лист свойств из формы

Это вызовы API, которые я делаю в событии Form_Load, чтобы попытаться избавиться от него:

Я определенно хочу, чтобы он прекратил обработку и ждал ввода. Я знаю трюк с всплывающим окном, когда вы ставите цикл после его открытия, ожидая закрытия окна, но я не фанат DoEvents, он просто приводит к сбою стека, особенно на более быстрых машинах.

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

Здесь есть куча вещей, которые могут пойти не так.

Первое, что нужно проверить, это действительно ли форма имеет дескриптор окна в событии загрузки формы. Это не может быть. (Этого нет в .net WinForms.) Установите точку останова при вызове SetWindowLong или проверьте, равно ли значение hwnd 0, прежде чем выполнять вызовы API.

Второе, что нужно проверить, это то, что на самом деле возвращают значения из этих вызовов API. SetWindowLong возвращает 0, если функция не удалась, если только стиль окна не был изначально равен 0, и в этом случае вам нужно вызвать SetLastError(0) перед вызовом и использовать результат, GetLastError чтобы определить, действительно ли вызов не удался. В псевдокоде это выглядит так:

Также проверьте документацию для возвращаемого значения SetWindowPos . (Помня, что тип Windows API BOOL на самом деле представляет собой 32-битное целое число.) Вы также должны использовать GetWindowLong , чтобы посмотреть, есть ли какие-либо стили окна, примененные к окну, потому что, если окно все еще инициализируется и еще не получило его WM_CREATE , он может находиться в неопределенном состоянии. Что прекрасно ведет к следующей вещи, которую нужно проверить.

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

Если ничего из этого не работает, вы можете создать подкласс оконной процедуры и обработать WM_NCHITTEST сообщение. На английском языке это «Окно сообщения — неклиентский тест на попадание». Сообщение отправляется оконной процедуре оконным менеджером, чтобы решить, в какой части окна находится мышь в любой заданной точке. Чтобы отключить все в неклиентской области 1 , ответьте на сообщение, HTCLIENT которым говорит оконному менеджеру, что мышь находится в вашей зоне ответственности. (Это сообщение также позволяет создать форму, которую можно перетаскивать по фону.)

Если вы хотите полностью удалить строку заголовка и не можете управлять ею, установив стиль границы, None то единственным другим вариантом будет обработка WM_NCPAINT сообщения и рисование неклиентской области вручную. См. документацию для примера того, как ответить на это сообщение.

Оба последних двух решения требуют немного больше работы по программированию, но здесь, в StackOverflow, и в других местах в Интернете есть множество примеров. Для обработки краски потребуется как минимум 4 или 5 дополнительных вызовов API. Это действительно зависит от того, насколько важно для вас удалить строку заголовка из формы.

1 Чтобы сильно упростить, неклиентская область представляет собой строку заголовка, системное меню, кнопки свертывания и развертывания, а также границу окна. Клиентская зона — все остальное.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *