Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2010, 08:15
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 8 meses
Puntos: 29
Aporte: Auto-ajustar tamaño y posicion de controles

Siguiendo el ejemplo de Erbuson (y de muchos otros antes que él), aunque aún sin estar seguro de que a alguien le interese tanto como para estudiar su funcionamiento para usarlo, voy a compartir con todos la última sub que he diseñado para mis programas.
Espero que con los comentarios incluidos os aclareis. Yo se la estoy incorporando a casi todos mis proyectos.

Como dice el título, esta es una sub que ajusta automáticamente el tamaño de los controles de un form segun este último va cambiando de tamaño.
Permite incluso reducir el form a un tamaño más pequeño que el original.

Lógicamente tiene unas reglas y limitaciones que hay que respetar, y también hay que recordar que la perfección no existe, y menos en algo creado por mí, pero el resultado merece la pena, sobre todo cuando tienes un form con 30 botones, 15 frames, 10 scrollbars y 40 labels y quieres que tu ventana se agrande y encoja.

La teoría es que esta sub se incluya en un módulo para estar accesible a todos los formularios que quieras resizar con ella.
Los ejemplos que pondré después de esta, son subs Form_Resize con diferentes modos de uso que he creado según la naturaleza del form al que se lo quería aplicar.

Recomiendo leer todos los comentarios incluidos, aunque algunos estén repetidos o quizá no muy claros ya que en principio eran solo para mi uso.

Algunas comparaciones en el código parecen innecesarias porque he incluido un "on local error resume next", sin embargo como tengo configurado el VB como "interrupción en todos los errores" me salta error si no las incluyo.
De todas formas recomiendo dejar todas las comparaciones incluidas, ya que el código que las sigue cuenta con que existen esos filtros delante que evitarán manipular un control indebidamente, como activar un timer durante unos milisegundos sin que deba hacerse.

Una vez dominado el tema vereis que se convierte casi en un simple copiar y pegar.
__________________
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:58