Programación General > Visual Basic 6.0 e inferiores
Desarrollar Aplicacion
Brroz:
Hola Black Boy.
Utiliza la herramienta de búsqueda en este mismo foro indicando como palabra a buscar resolución. Veras varios temas que ahondan en el problema con los que seguro encuentras tu solución.
Chao.
The Black Boy:
--- Cita de: "RadicalEd" --- mmm CREO QUE PARA QUE DIVIDA LA PANTALLA, Y NO UTILIZA EL 100% DE ESTA SINO LA MITAD.
jejejeje CREO CHAO
--- Fin de la cita ---
que lastima ... no me sirvióla solucion por que lo que hace es dividir el tamaño de la aplicacion...
de todas maneras gracias y saludos...
--- Citar ---Hola Black Boy.
Utiliza la herramienta de búsqueda en este mismo foro indicando como palabra a buscar resolución. Veras varios temas que ahondan en el problema con los que seguro encuentras tu solución.
--- Fin de la cita ---
buscaré y luego postearé como me fue..
Gracias
:good:
RadicalEd:
ENTONCES SOLO DEJA
--- Código: Text --- Me.Width = Screen.WidthMe.Height = Screen.Height LO QUE HACEN ES CAPTURAR EL ALTO Y EL ANCHO DE LA PANTALLA Y DARSELO COMO PARAMETRO A TU APLICACION
The Black Boy:
mmm... voy a probar aunque tambien tengo que probar la solucion que encontré en el otro post que habia sobre esto... aunque la vi por encima y está un poquito enrredada...
Gracias y Saludos :good:
Brroz:
Hola BlackBoy.
Veo que no se te dió... me voy a explayar un poco con lo que se me ocurre:
Lo primero que debes hacer es averiguar la resolución actual. Esto lo puedes hacer de esta forma:
--- Código: Text --- Private Sub RtvResolucion () MsgBox Screen.Width / Screen.TwipsPerPixelX _ & " x " & Screen.Height / Screen.TwipsPerPixelYEnd Sub
Bueno, lo siguiente es calcular mediante una regla de tres un coeficiente por el cual multiplicar alto y ancho de todos sus formularios y controles... y ya de paso, sus propiedades Top y Left para recolocarlos de acuerdo con su nuevo tamaño.
Este cálculo sería una regla de tres de este estilo:
Por ejemplo, el ancho original del Form es a la resolución horizontal original como x (el nuevo ancho para el Form) es a la resolución horizontal actual.
O lo que sería lo mismo (si es que no me estoy equivocando:
NDH = NRH / ARH * ADH
donde:
NDH=Nueva dimensión horizontal del objeto
NRH=Nueva resolución horizontal del monitor
ARH=Antigua resolución horizontal del monitor
ADH=Antigua dimensión horizontal del objeto
Como no sé si me habré explicado muy bien, pongo un ejemplo:
- Cuado diseñé la aplicación la resolución era 800 x 600
- Ahora la nueva resolución es 1034 x 728
- Cuando diseñé la aplicación, el ancho (width) de un objeto era 5000 twips
- ¿Cuál sería el nuevo ancho adecuado para el objeto una vez cambiada la resolución?
* La respuesta es:
Objeto.Width = 1034 / 800 * 5000
Resumiendo y así a grandes rasgos... En un módulo:
--- Código: Text --- Option Explicit Public dCoefX as doublePublic dCoefY as double Private Sub Main Const X_RES_ORG = 800 'Por ejemplo Const Y_RES_ORG = 600 dCoefX = Screen.Width / Screen.TwipsPerPixelX / X_RES_ORG dCoefY = Screen.Height / Screen.TwipsPerPixelY / Y_RES_ORGEnd Sub En cada Form:
--- Código: Text --- Private Sub Form_Resize On Error Resume Next Me.Width = Me.Width * dCoefX Me.Heigth = Me.Height * dCoefY Dim ctl1 As Control For Each ctl1 In Me.Controls ctl1.Move _ ctl1.Left * dCoefX, _ ctl1.Top * dCoefY, _ ctl1.Width * dCoefX, _ ctl1.Height * dCoefY Next ctl1End Sub
Esto tiene una salvedad... si los forms pueden ser dimensionados por el usuario se producirá un efecto indeseado a no ser que en vez de multiplicar por el coeficiente las dimensiones actuales, hagas con las originales a partir de un valor constante.
Supongo que habrás amarrado la idea... espero que con con esto puedas arreglar y sacar algo en limpio.
El mundo de las proporciones es muy curioso. Suerte.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa