Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SLIFE

Alterar Definção de Imagem No VB

Recommended Posts

Boas AmigosGostaria de saber uma coisa, como poderei por no meu projecto, a opção de ao iniciar, ele alterar a resolução do computador para 1024, e ao sair ele volte a alterar para o que estava anteriormente.ObrigadoSLIFE®

Compartilhar este post


Link para o post
Compartilhar em outros sites

'1º você tem q obter a resolução atual do monitor:Private Sub Obtem() Dim xTwips%, yTwips%, xPixels#, YPixels# xTwips = Screen.TwipsPerPixelX yTwips = Screen.TwipsPerPixelY YPixels = Screen.Height / yTwips xPixels = Screen.Width / xTwips Debug.print "A Resolução é: " & Str$(xPixels) & " por " & Str$(YPixels)End Sub'Depois você muda para a resolução desejada:'-----Módulo-----Private Declare Function EnumDisplaySettings Lib _ "user32" Alias "EnumDisplaySettingsA" _ (ByVal lpszDeviceName As Long, ByVal _ iModeNum As Long, lpDevMode As Any) As _ BooleanPrivate Declare Function ChangeDisplaySettings Lib _ "user32" Alias "ChangeDisplaySettingsA" _ (lpDevMode As Any, ByVal dwflags As Long) _ As LongPrivate Const CCDEVICENAME = 32Private Const CCFORMNAME = 32Private Const DM_PELSWIDTH = &H80000Private Const DM_PELSHEIGHT = &H100000Private Type DEVMODE dmDeviceName As String * CCDEVICENAME 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 * CCFORMNAME dmUnusedPadding As Integer dmBitsPerPel As Integer dmPelsWidth As Long dmPelsHeight As Long dmDisplayFlags As Long dmDisplayFrequency As LongEnd TypePublic Sub ChangeRes(iWidth As Single, iHeight As Single) Dim DevM As DEVMODE Dim a As Boolean Dim i As Long Dim b As Long i = 0 Do a = EnumDisplaySettings(0&, i&, DevM) i = i + 1 Loop Until (a = False) DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT DevM.dmPelsWidth = iWidth DevM.dmPelsHeight = iHeight b = ChangeDisplaySettings(DevM, 0)End Sub'Aí no seu caso, no Form_Load você coloca:Call ChangeRes(1024, 768) 'para mudar a resolução do monitor para 1024x768'E no Form_UnloadCall ChangeRes(resolução anterior) 'que você obteve com a rotina descrita lá em cima...Obs: Devo resaltar que você só deve colocar resoluções que o monitor suporte, senão alguns arquivos poderão ser corrompidos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.