Ajustar tamaño de formulario en Access 2007 a las distintas resoluciones de pantalla

He visto varias preguntas sobre el tema y os quería comentar lo que yo he hecho y los problemas que me da.

En principio, la aplicación que estoy realizando tiene varios formularios, todos ellos establecidos en Modal y Emergente a Sí. Además, oculté las barras de desplazamiento verticales y horizontales, así como el ribbon. De este modo, los usuarios pasan de un formulario al que corresponde en cada momento, sin posibilidad de manipularlos ni de cometer errores. Ahora bien, yo diseñé los formularios en mi ordenador, ajustando el tamaño de los mismos para ocupar la pantalla completa, por lo que, al utilizarlos en ordenadores con mayor o menor resolución, daban el problema de que, o bien se veía el formulario entero en una parte de la pantalla quedando el resto en blanco, o, lo que es peor, no se podía ver el formulario completo (quedaba como cortado)

Utilicé el código de Markus Gruber, que utiliza modScaleForm y clFormWindow, para conseguir adaptar los distintos formularios a la resolución de cada pantalla y funcionó. Eso sí, hay que poner el estilo de los bordes del formulario en cuestión en modo diálogo.

El único problema: La barra de tareas queda oculta. Si no se utiliza, no es mayor problema, pero en mi caso, que tengo que cambiar de una aplicación a otra... Lo que hacemos siempre es "clickar" en el icono correspondiente en dicha barra de tareas ( en la parte inferior de la pantalla), pero al estar oculta (queda debajo del formulario emergente) no es posible hacer esto...

¿A alguien se le ocurre una solución? (Lo que pretendo es que el código funcione como lo hace, pero respetando la barra de tareas. Si pongo el estilo de los bordes en "Ajustable", se ve la barra, pero desajusta el resto del formulario. Si pongo el formulario en Modal Sí, Emergente No, ocurre lo mismo... Ya no sé por dónde seguir...

1 Respuesta

Respuesta
1

Si mal no recuerdo, para que ese código funcione, no hace falta ponerle Modal en Sí, sólo Emergente en Sí.

Si así no te queda como quieres, puedes intentar lo que hago en este ejemplo: "Maximizar sin maximizar", en el que hago que el formulario ocupe todo el máximo de la ventana de access disponible, pero no aparecen botones de cerrar ni restaurar ni minimizar. Si lo combinas con ocultar el ribbon y el panel de navegación, creo que te puede servir para lo que intentas.

Un saludo.


Un nuevo foro de access, visítanos: http://nksvaccessolutions.com/Foro/ 

¡Gracias!  en cuanto pueda probar tu ejemplo, te comento algo. Aunque ponga la opción modal en "No", sigue ocultándome la barra de tareas. Por lo demás funciona bien (siempre y cuando el estilo de los bordes del formulario sea "diálogo", si le pongo por ejemplo "ajustable" se ve la barra de tareas, pero el formulario se "sale" de la pantalla...) pero, sin poder utilizar la barrita de marrás... te comento en cuanto sepa algo.

¡Genial tu ejemplo! En el código que mencionaba antes de Markus  Gruber, era imprescindible maximizar los formularios, y parece que el problema era ese. Al utilizar tu ejemplo, me ha funcionado perfectamente. Sigo utilizando modScaleForm y clFormWindow, pero lo que hago es lo siguiente:

En el evento "al cargar" del formulario, en lugar de poner "DoCmd.Maximize" utilizo tu código. Después en los eventos  "Al Abrir" y "Al cambiar el tamaño" ya si utilizo el de Markus, para ajustar el tamaño de los distintos controles del formulario y... parece que funciona. Mañana lo probaré en el trabajo con distintos ordenadores y resoluciones de pantalla y veremos si va bien... Os cuento con lo que sea.

Muchas gracias por tu ayuda una vez más.

Pd. Me gustaría comentar con respecto a una pregunta anterior que hice relativa a Correo electrónico a través de IBM Lotus Notes, en la que también me intentasteis ayudar, pero como el hilo está ya cerrado, no sé cómo hacerlo (no encontré la solución para eso, pero apliqué otra que, aunque no es la mejor, tal vez a alguien podría ayudarle y si puedo colaborar un poco, aunque sea con mis escasos conocimientos...) Si puedes, ya me dirás cómo puedo retomar ese hilo.

Pues no sé cómo hacerlo...¿Probaste a añadir tu propia respuesta?

Perdón por no haber respondido antes, ayer llegaba a casa a las 21:30 (desde las 07:00 que me fui a trabajar...) y me vino justo para arrastrar mi triste osamenta hasta el sofá y tumbarme (peor, me dí cuenta de que habría que pintar el techo :D). Bueno, en serio, llegué tan tarde que ni me acordé... Pero... Repito lo dicho: ¡Genial el ejemplo! era justo lo que necesitaba. Lo probé ayer en varios ordenadores con distintas resoluciones de pantalla y funcionó perfectamente.

Muchísimas gracias una vez más.

Con respecto al otro tema que comentamos, lo cierto es que no probé a enviar mi propia respuesta. Hoy estoy un poquito liado, pero mañana, que podré salir antes del trabajo, lo intentaré. Si puedo hacerlo, aunque la solución que he adoptado no es ninguna maravilla, procuraré explicarla por si le sirve a alguien. En caso de que no sirva, al menos será una curiosidad más... :)

Muchas gracias y un saludo a todos.

De nada.

Pásate por nuestro nuevo foro alguna vez:  http://nksvaccessolutions.com/Foro/ 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas