Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 21-feb-2005, 21:54   #1 (permalink)
robertonavarro ha deshabilitado el karma
 
Avatar de robertonavarro
 
Fecha de Ingreso: octubre-2004
Mensajes: 72
Enviar un mensaje por MSN a robertonavarro
Idea Cambiar la resolucion de la pantalla

Hola, me gustaria saber como averiguar la resolucion que tiene la pantalla a la hora de ejecutarse un programa, asi como la forma de cambiarla desde Vb.

GRACIAS.
robertonavarro está desconectado   Responder Citando
Antiguo 22-feb-2005, 06:54   #2 (permalink)
vbx3m está en el buen camino
 
Avatar de vbx3m
 
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Enviar un mensaje por MSN a vbx3m Enviar un mensaje por Yahoo  a vbx3m
Cool Resolucion

En un modulo colocas:

Public Declare Function EnumDisplaySettings Lib "user32.dll" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean
Public Declare Function ChangeDisplaySettings Lib "user32.dll" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Public Const CCDEVICENAME = 32
Public Const CCFORMNAME = 32
Public Const DM_PELSWIDTH = &H80000
Public Const DM_PELSHEIGHT = &H100000

Public 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 Long
End Type

Public DevChg As DEVMODE

Public Sub ChangeRes(iWidth As Single, iHeight As Single)
Dim a As Boolean
Dim I&
I = 0
Do
a = EnumDisplaySettings(0&, I&, DevChg)
I = I + 1
Loop Until (a = False)
Dim b&
DevChg.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevChg.dmPelsWidth = iWidth
DevChg.dmPelsHeight = iHeight
b = ChangeDisplaySettings(DevChg, 0)
End Sub

Y en el formulario:

Public Sub CheckRes()
Dim X As Long, Y As Long
Dim MsgTitle As String
Dim MsgStyle As Long
Dim msg As String
Dim MsgResponse As Long
Y = GetSystemMetrics(0)
X = GetSystemMetrics(1)
If "" & Y & "x" & X <> "1024x768" Then 'Aqui es donde comparas la resolucion
MsgBox "La resolución de su monitor es " & Y & "x" & X & "
Call ChangeRes(1024, 768) 'Aqui asignas la resolucion que quieres
End If
End Sub

Pruebalo...
vbx3m está desconectado   Responder Citando
Antiguo 08-mar-2005, 00:49   #3 (permalink)
tz.ware ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2005
Mensajes: 4
ami no me funciona (alomejor lo estoy poniendo mal, voy a re-revisar)
tz.ware está desconectado   Responder Citando
Antiguo 08-mar-2005, 08:19   #4 (permalink)
vbx3m está en el buen camino
 
Avatar de vbx3m
 
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Enviar un mensaje por MSN a vbx3m Enviar un mensaje por Yahoo  a vbx3m
Cool Resolucion

Te acordaste de hacer el llamado a Changeres y a CheckRes?...
__________________
ホルヘ・ラファエル・マルティネス・レオン
vbx3m está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 10:40.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96