Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Tiago Vieira

Definir resolução em Access

Mensagens Recomendadas

Tiago Vieira

Boas

Preciso de ajuda....

Tenho uma base de dados que ao abrir nos computadores da empresa abrem com uma resolução diferente e os formulários ficam com um tipo de letra muito maior, fica tudo desconfigurado.

Haverá alguma forma de definir o tipo de resolução para abrir de igual modo em todos os computadores? Código vba...

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
progster

Isso nunca me aconteceu. Os computadores da empresa têm a mesma versão do office instalado? Já descartas-te a hipotese de virose?


Não resolvo dúvidas por PM.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MMarques

Isso já me aconteceu, é por causa da resolução nativa dos monitores e não tens outra solução senão diminuir o tamanho dos formulários para se poderem visualizar correctamente em todos os computadores. Ou então fazes formulários de ecrã inteiro e fazes com que as labels e inputboxes aumentem de tamanho automáticamente segundo o tamanho da janela.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JRodrigues

Este tópico seria mais para o quadro do VBA. Mesmo assim aqui vai código encontrado na net...

Option Explicit
Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As String, ByVal iModeNum As Long, lpDevMode As DEVMODE) As Long
Type DEVMODE
    dmDeviceName As String * 32
    dmSpecVersion As Integer
    dmDriverVersion As Integer
    dmSize As Integer
    dmDriverExtra As Integer
    dmFields As Long
    dmOrientation As Integer
    dmPaperSize As Integer
    dmPaperLength As Integer
    dmPaperWidth As Integer
    dmScale As Integer
    dmCopies As Integer
    dmDefaultSource As Integer
    dmPrintQuality As Integer
    dmColor As Integer
    dmDuplex As Integer
    dmYResolution As Integer
    dmTTOption As Integer
    dmCollate As Integer
    dmFormName As String * 32
    dmUnusedPadding As Integer
    dmBitsPerPixel As Integer
    dmPelsWidth As Long
    dmPelsHeight As Long
    dmDisplayFlags As Long
    dmDisplayFrequency As Long
    ' The following only appear in Windows 95, 98, 2000
    dmICMMethod As Long
    dmICMIntent As Long
    dmMediaType As Long
    dmDitherType As Long
    dmReserved1 As Long
    dmReserved2 As Long
    ' The following only appear in Windows 2000
    dmPanningWidth As Long
    dmPanningHeight As Long
End Type

Sub Exemplo()
Dim XxX As String
XxX = RESOLA
' Só para testar o retorna da função RESOLA
MsgBox XxX
''
If XxX <> "1024x768" And XxX <> "800x600" Then
  MsgBox "Esta aplicação foi optimizada para resoluções de écran de 1024x768 ou 800x600" + vbLf + vbLf _
  + "com a resolução seleccionada " + XxX + " é provavel a deficiente utilização.", vbExclamation
End If
End Sub

Public Function RESOLA() As String
Dim dm As DEVMODE   ' info about the display device
Dim retval As Long  ' return value
' Initialize the structure.
dm.dmSize = Len(dm)
' Get the display settings for the current monitor and mode.
retval = EnumDisplaySettings(vbNullString, ENUM_CURRENT_SETTINGS, dm)
RESOLA = LTrim(RTrim(Str(dm.dmPelsWidth))) + "x" + LTrim(RTrim(Str(dm.dmPelsHeight)))
End Function

Dialecto Office 2000

HTH

João

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.