TopPicLogo TopPicText

Окно приложения MS Access - Разворачиваем во весь экран

Прислал: Дмитрий Сонных  sonni-dim@mail.ru

     Обычно вы разрабатываете формы и отчеты используя весь экран. Поэтому, когда Access запускается в нормальном окне, это вызывает досаду у пользователей. Они хотят, чтобы программа сразу запускалась "как надо". Решить эту проблему может следующий пример.

     Рекомендуется вставлять этот код в модуль формы, которая автоматически загружается при открытии базы данных, в секцию:
Form_Load()
    Кроме того эта функция позволяет управлять размерами форм и отчетов. Хендл (указатель) отчета можно узнать из Report.hWnd, а формы - из Form.hWnd . Эту функцию можно так же использовать как переключатель между окнами.

'--------------------------------------------------------------------
' Module    : modAppWindow
' Author    : Дмитрий Сонных (aka Joss) sonni-dim@mail.ru
' Purpose   : Разворачивание окна Access во весь экран
'--------------------------------------------------------------------
'- разворачивание окна Access на весь экран.
'    fSetWindow Application.hWndAccessApp, SW_SHOWMAXIMIZED
'--------------------------------------------------------------------
'
Option Compare Database
Option Explicit

' Эти описания помещаем в модуль
Public Const SW_HIDE = 0
'Скрывает это окно и передает активацию к другому окну.
Public Const SW_MINIMIZE = 6
'Минимизирует окно и активизирует окно верхнего уровня в списке
'системы.
Public Const SW_RESTORE = 9
'Активизирует и отображает окно. Если окно минимизировано или максимизировано,
'Windows восстанавливает его к его первоначальному
'размеру и позиции.
Public Const SW_SHOW = 5
'Активизирует окно и отображает его в текущем размере и позиции.
Public Const SW_MAXIMIZE = 3
Public Const SW_SHOWMAXIMIZED = 3
'Активизирует окно и отображает его как максимизируемое окно.
Public Const SW_SHOWMINIMIZED = 2
'Активизирует окно и отображает его как значок.
Public Const SW_SHOWMINNOACTIVE = 4
'Отображает окно как значок. Окно, которое является в настоящее
'время активным, остается активным.
Public Const SW_SHOWNA = 8
'Отображает окно в его текущем состоянии. Окно, которое является в
'настоящее время активным, остается активным.
Public Const SW_SHOWNOACTIVATE = 7
'Отображает окно в его самом современном размере и позиции. Окно,
'которое является в настоящее время активным, остается активным.
Public Const SW_SHOWNORMAL = 1
'Активизирует и отображает окно. Если окно минимизировано или
'максимизировано, Windows восстанавливает его к первоначальному
'размеру и позиции.

Public Declare Function apiShowWindow Lib "user32" _
    Alias "ShowWindow" (ByVal Hwnd As Long, _
    ByVal nCmdShow As Long) As Long

'--------------------------------------------------------------------
' Функцию тоже помещаем в модуль
Public Function fSetWindow(nHwnd As Long, nCmdShow As Long) As Long

' Примеры вызова функции :
' Maximize window - во весь экран:
'   fSetWindow(nHwnd,SW_SHOWMAXIMIZED)

' Minimize window - свернуть в пиктограмму:
'   fSetWindow(nHwnd,SW_SHOWMINIMIZED)

' Hide window - скрыть окно:
'   fSetWindow(nHwnd,SW_HIDE)

' Normal window - нормальный размер:
'   fSetWindow(nHwnd,SW_SHOWNORMAL)

On Error GoTo Err_fSetWindow
    fSetWindow = apiShowWindow(nHwnd, nCmdShow)

Exit_fSetWindow:
   Exit Function

Err_fSetWindow:
    MsgBox Err.Description
    Resume Exit_fSetWindow
End Function

А теперь в форме делаем вызов функции

Private Sub Form_Load() 
' разворачивание окна Access на весь экран.
    fSetWindow Application.hWndAccessApp, SW_SHOWMAXIMIZED
End Sub
Назад ToTop
L.E. 08.12.2016
Рейтинг@Mail.ru