MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Tela cheia sem ocultar a barra de tarefas

    avatar
    FarrelPR
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 02/05/2024

    [Resolvido]Tela cheia sem ocultar a barra de tarefas Empty [Resolvido]Tela cheia sem ocultar a barra de tarefas

    Mensagem  FarrelPR 30/5/2024, 00:31

    Boa noite galera.
    Procurei muito e vi muitas coisas, inclusive testei um do Criquio, mas ainda não foi o que eu preciso.
    Preciso executar o form em tela cheia, como um programa normal, mas preciso da barra de tarefas do windows sempre visivel, ja que meu usuário precisará navegar por outros programas.
    Alguém conhece uma solução?

    PS: DoCmd.Maximize oculta a barra de taferas
    avatar
    FarrelPR
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 02/05/2024

    [Resolvido]Tela cheia sem ocultar a barra de tarefas Empty Re: [Resolvido]Tela cheia sem ocultar a barra de tarefas

    Mensagem  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.

    AbymaelSousa gosta desta mensagem


      Data/hora atual: 8/12/2024, 00:51