03/07/2010, 08:19
|
| | | Fecha de Ingreso: julio-2006 Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 3 meses Puntos: 29 | |
Respuesta: Aporte: Auto-ajustar tamaño y posicion de controles SOLO HAY QUE SEGUIR ALGUNAS REGLAS.
NOTA IMPORTANTE:
Una buena fuente de texto es "Arial", ya que parece ajustarse mejor a los cambios de tamaño.
Esto permite hacer un truco:
En la sub Resize, donde pone
MinimoWidth = Me.Width
MinimoHeight = Me.Height
podemos poner
MinimoWidth = Me.Width * 0.8
MinimoHeight = Me.Height * 0.8
' nota: esto ya se aplica en las subs Resize de ejemplo, no hace falta buscarlo.
De este modo se puede reducir el tamaño del form resizado más pequeño que su tamaño original.
Sin embargo eso obliga a usar una fuente que admita tamaños mas pequeños, como la "Arial".
1-CREA EL FORM LO MAS PEQUEÑO QUE PUEDAS EN VENTANA NORMAL Y COLOCA BIEN LOS CONTROLES, PERO INTENTA NO AMONTONARLOS DEMASIADO.
2-LOS LABELS DEBEN TENER LA PROPIEDAD AUTOSIZE=FALSE
3-LOS LABELS, CHECKBOX, ETC... DEBEN SER ALGO MAS GRANDES DE LO NECESARIO PARA CONTENER EL TEXTO, O TENER LA PROPIEDAD STYLE = GRAPHICAL EN EL CASO DE LOS CHECKBOX.
4-EL ALTO DE LOS LISTBOX NO SE AJUSTA BIEN.
HAY QUE AJUSTARLO A MANO DESPUES DE EJECUTAR ESTA SUB DESDE EL RESIZE.
5-PUESTO QUE EL TAMAÑO ORIGINAL ES MEMORIZADO LA PRIMERA VEZ QUE SE HACE UN RESIZE, ESTO SE EFECTUA AUTOMÁTICAMENTE LA PRIMERA VEZ QUE EL FORMULARIO SE MUESTRA.
SIN EMBARGO, SI CAMBIAS EL TAMAÑO DEL FORM DURANTE EL LOAD, SE GUARDARÁ EL NUEVO TAMAÑO COMO "ORIGINAL", PROVOCANDO QUE EL AUTOAJUSTE DE CONTROLES SEA INCORRECTO.
SI QUIERES CAMBIAR EL TAMAÑO DEL FORM DURANTE EL LOAD, HAY QUE HACER PRIMERO UN RESIZE PARA MEMORIZAR EL TAMAÑO ORIGINAL ANTES DE QUE ESTE CAMBIE.
Form_Resize
Y DESPUES PUEDES AJUSTARLO AL TAMAÑO QUE QUIERAS
Me.Height = LeerIni(FicheroINI, "Config", "TamañoH", Me.Height)
Me.Width = LeerIni(FicheroINI, "Config", "TamañoW", Me.Width)
Saludos.
__________________ No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
Última edición por pkj; 03/07/2010 a las 08:51 |