FarrelPR 31/5/2024, 16:59
Consegui resolver.
Para colocar o form em tela cheia sem sobrar espaços e sem ocultar a barra de tarefas do windows, fiz os seguintes passos:
1 - Definir as propriedades do FORM
Popup: Sim
Border Style: Nenhum
Control Box: Não
Min Max Buttons: Nenhum
Close Button: Não
2 - Inserir um novo módulo no VBA
Option Compare Database
' Declare Windows API functions
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN As Long = 0
Const SM_CYSCREEN As Long = 1
Function GetScreenWidth() As Long
GetScreenWidth = GetSystemMetrics(SM_CXSCREEN)
End Function
Function GetScreenHeight() As Long
GetScreenHeight = GetSystemMetrics(SM_CYSCREEN)
End Function
3- No form, evento ao carregar, ,abra o construtor de códigos e insira o seguinte:
Private Sub Form_Load()
Dim ScreenWidth As Long
Dim ScreenHeight As Long
Dim LeftPos As Long
Dim TopPos As Long
' Obtém a largura e altura da tela
ScreenWidth = GetScreenWidth()
ScreenHeight = GetScreenHeight()
' Define a posição do formulário (0,0) e a largura e altura
LeftPos = 0
TopPos = 0
' Converte a largura e altura de pixels para twips (15 twips por pixel)
ScreenWidth = ScreenWidth * 15
ScreenHeight = ScreenHeight * 15
' Move e redimensiona o formulário
DoCmd.MoveSize LeftPos, TopPos, ScreenWidth, ScreenHeight - (40 * 15) ' Subtraímos 40 pixels para a barra de tarefas
End Sub
Explicação
GetSystemMetrics: Função da API do Windows usada para obter a resolução da tela.
Constantes SM_CXSCREEN e SM_CYSCREEN: Representam a largura e altura da tela, respectivamente.
Converte pixels em twips: Multiplica por 15 para a conversão.
DoCmd.MoveSize: Redimensiona o formulário para ocupar a área total, menos 40 pixels para deixar espaço para a barra de tarefas.
Espero ajudar quem também precisou.