Visual Basic - Tamaño pantalla

Life is soft - evento anual de software empresarial
 
Vista:

Tamaño pantalla

Publicado por charlie (59 intervenciones) el 06/07/2005 17:52:04
Queria saber si alguien conoce una forma de que el tamaño que tienen mis pantallas en mi pc, se vean igual en cualquier pantalla, es decir si yo las hago que ocupen toda la pantalla que eso se conserve en cualquier pc que lo instale.

muchas gracias, disculpen mi ignorancia

charlie
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Aclaración.

Publicado por Loud_in (110 intervenciones) el 06/07/2005 19:02:39
Bueno, aqui no te va una solucion en codigo, sino mas bien una aclaracion por si la desconoces

En Vb6.0, para manteneer el margen y las dimenciones de la ventana y sus objetos Manualmente se debe manipular por codigo, propiedades Top, Left, Width, Heigth.
En Vb.net, eso se hace automaticamente.

Ok, sabiendo que para realizar lo que deseas, debes trabajar a punta de codigo, debes saber donde hacerlo.

En si, debes trabajar el evento Resize de la ventana osea el Form_Resize. alli, es donde debes Jugar con los objetos y sus pripedades.

Si esto ya lo sabias, ignoralo. sino, continua

te dare un ejemplo. coloca en una ventana un textbox llamado Text1 y el siguiente codigo colocalo en la seccion declaraciones.

Private Sub Form_Load()
Form_Resize
End Sub

Private Sub Form_Resize()
On Error Resume Next
Text1.Move 100, 100, Me.ScaleWidth - 200, Me.ScaleHeight - 200
Text1.RightMargin = Text1.Width - 400
End Sub

Asi de esta forma tienes que jugar con cada uno de los objetos. Te cuento, que yo he trabajado con casi 180 objetos en una sola ventana y es largo y estenuante pero divertido.

Andres - Loud_in
Medellin-Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Aclaración.

Publicado por SuNcO (599 intervenciones) el 06/07/2005 19:19:28
Otra cosa que puedes hacer es forzar la resolucion

Tengo un codigo que revisa la resolucion actual.. si no es la que tu pides entonces se revisa si es posible o no cambiarla.. si es posible entonces te pregunta y si aceptas entonces la cambia

Aqui te lo pongo por si te sirve (este revisa que sea 1024x768 que es la que yo utilizo)

Private Declare Function ChangeDisplaySettings Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As Any, ByVal dwFlags As Long) As Long
Private Declare Function EnumDisplaySettings Lib "user32" Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As Long, ByVal iModeNum As Long, lpDevMode As Any) As Boolean

Const CCDEVICENAME = 32
Const CCFORMNAME = 32

Private 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

Dim DevM As DEVMODE

Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000

Private Function ChecaResolucion() As Boolean
Dim a As Boolean
Dim i&
i = 0
Do
DoEvents
a = EnumDisplaySettings(0&, i&, DevM)
i = i + 1
If DevM.dmPelsWidth >= 1024 Then
ChecaResolucion = True
Exit Function
End If
Loop Until (a = False)
End Function

Private Sub Form_Load()
ancho = (Screen.Width \ Screen.TwipsPerPixelX)

If ancho < 1024 Then

If ChecaResolucion = True Then
If MsgBox("Tienes una resolucion muy baja. Quieres cambiarla ahora ?", vbYesNo + vbQuestion) = vbYes Then
Dim Bu
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = 1024
DevM.dmPelsHeight = 768
Bu = ChangeDisplaySettings(DevM, 0)
Else
MsgBox "Ok. No cambiaste la resolucion", vbOKOnly + vbExclamation
End If
Else
MsgBox "Este monitor no permite resolucion 1024*768", vbOKOnly + vbExclamation
End
End If

End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar