Programación General > Visual Basic 6.0 e inferiores

 Desarrollar Aplicacion

<< < (2/3) > >>

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 _   & &#34; x &#34; & 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

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa