“Conocimientos Programación>Visual Basics Programación

Cómo crear un marco independiente de resolución en VB.NET

2012/6/1
. Visual Basic NET o VB.NET, es un lenguaje de programación de computadoras implementado en el NET Framework . . Usted puede utilizar VB.NET para crear formas complejas . Sin embargo , un formulario creado para la resolución VGA estándar ( 640 x 480 ) tiene sólo una parte de la pantalla con una resolución más alta. Aunque esto es normal, es posible que desee la forma de tener un tamaño y una posición proporcional a la resolución. Estas formas se llaman marcos independientes de la resolución , y son relativamente fáciles de crear. Cosas que necesitará
Visual Basic, cualquier versión
Ver Más instrucciones
1

Haga clic en cualquier lugar del escritorio y seleccione "Propiedades ". Vaya a la pestaña " Configuración" y cambiar la resolución de pantalla a " 800 x 600 ". Usted usará este pequeño resolución para crear el marco independiente de la resolución .
2

Abra Visual Studio y comenzar un proyecto nuevo. La forma " Form1 " se crea automáticamente
3

Ir al módulo del formulario y pega el código para hacer la forma de resolución independiente : .
Opción

explícita

MyForm As FRMSIZE

DesignX Dim As Integer Dim

designy As Integer

Private Sub Form_Load ( )

ScaleFactorX Dim As Single , ScaleFactorY " Los factores de escala

' Como único tamaño de la forma en píxeles en el diseño de resolución

DesignX = 800 €

designy = 600 €

RePosForm Flag = verdadero ' para posicionamiento Formulario

doResize = ' Marcar para eventos Resize

' Falso Configurar la pantalla valora

Xtwips = Screen.TwipsPerPixelX

Ytwips = Screen.TwipsPerPixelY

Ypixels = Screen.Height /Ytwips 'Y pixel Resolución

Xpixels = screen.width /Xtwips ' X píxeles Resolución

' Determinar los factores de escala

ScaleFactorX = ( Xpixels /DesignX )

ScaleFactorY = ( Ypixels /designy )

ScaleMode descomentar = 1 ' twips

' Exit Sub ' para ver cómo se ve Form1 sin redimensionar

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

Label1.Caption = " resolución actual es" & Str $ ( Xpixels ) + _

" por " + Str $ ( Ypixels )

MyForm.Height = Me.Height ' Acuérdate del tamaño actual

MyForm.Width = Me.Width

End Sub

Form_Resize Sub Private ()

ScaleFactorX Dim As Single , ScaleFactorY As Single

Si No doResize Entonces ' Para evitar bucle infinito

doResize = True

Exit Sub
< p > End If

RePosForm = False

ScaleFactorX = Me.Width /MyForm.Width ' ¿Cuánto cambio ?

ScaleFactorY = Me.Height /MyForm.Height

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

MyForm.Height = Me.Height ' recordar el tamaño actual

MyForm.Width = Me.Width

End Sub

Private Sub Command1_Click ()

ScaleFactorX Dim As Single , ScaleFactorY As Single

DesignX = Xpixels

designy = Ypixels

RePosForm = True

doResize = False

' Configurar la pantalla valora

Xtwips = Screen.TwipsPerPixelX

Ytwips = Screen.TwipsPerPixelY

Ypixels = Screen.Height /Ytwips 'Y pixel Resolución

Xpixels = screen.width /Xtwips ' X píxeles Resolución

' Determinar los factores de escala

ScaleFactorX = ( Xpixels /DesignX )

ScaleFactorY = ( Ypixels /designy )

Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me

Label1.Caption = " resolución actual es" & Str $ ( Xpixels ) + _

" por " + Str $ ( Ypixels )

MyForm.Height = Me.Height ' Acuérdate del tamaño actual

MyForm.Width = Me.Width

End Sub
4

Agregar todos los controles que desea probar en el formulario. Puede agregar etiquetas , botones de comandos y cuadros de imagen . Debe hacer esto para probar si todos los elementos de su formulario ajustan su tamaño correctamente.
5

Ir al menú "Proyecto" y seleccione " Agregar módulo .... " Haga clic en " Add" para añadir el nuevo módulo al proyecto
6

Ir al nuevo módulo y pega el código para ajustar automáticamente las proporciones de la forma en relación con la resolución de la pantalla: .
< p > Xtwips Públicas As Integer , Ytwips As Integer

Xpixels Públicas As Integer , Ypixels As Integer

Tipo FRMSIZE

Altura As Long

ancho como de largo

Tipo de terminación de

RePosForm Pública As Boolean

doResize Pública As Boolean

Sub Resize_For_Resolution ( ByVal SFX As Single , _ ByVal

SFY As Single , MyForm como formulario )

Dim I As Integer

SFFont Dim As Single

SFFont = ( SFX + SFY ) /2 'normal
escala < p> 'Tamaño de los controles para la nueva resolución

On Error Resume Next' de sólo lectura o inexistentes propiedades en

MyForm

para i = 0 a contar. - 1

Si TypeOf . Controls ( I) Es ComboBox Entonces "no se puede cambiar la altura de

. Controls ( I). Izquierda = . Controles ( I). Izquierda * SFX

. Controles ( I) . = Top . Controles ( I) . Arriba * SFY

. Controles ( I). Ancho = . Controles ( I). Ancho * SFX

demás
Controles

. ( I) . Mover. Controles ( I) . restantes * SFX , _

. Controles ( I) . Arriba * SFY , _

. Controles ( I) . Ancho * SFX , _

. Controles ( I) . Altura * SFY

End If cambiar tamaño

' y volver a colocar antes de cambiar el FontSize

. Controles ( I) . FontSize = . Controles ( I) . FontSize * SFFont

Siguiente I Love

Si RePosForm Entonces

' Ahora el tamaño del formulario

. Mover . Left * SFX . Arriba * SFY , . Ancho * SFX . Altura * SFY

End If

End With End Sub


7

prueba tu nueva forma de ejecutarlo en diferentes resoluciones de pantalla. Se debe tomar la misma área de escritorio y mantener su posición .

Visual Basics Programación
Cómo calcular la suma de 3 números en Visual Basic
Cómo convertir a UTF - 8 mediante Visual Basic
Diferencia entre las funciones y subrutinas en Visual Basic
Cómo hacer Diagramas de flujo
Cómo utilizar variables en Montañas Visual Basic
Cómo compilar código VBA
Cómo ejecutar un Powershell el interior de programación Visual Basic
Cómo copiar una base de datos con Visual Basic 6
Conocimientos Informáticos © http://www.ordenador.online