miércoles, 2 de marzo de 2011

Microsoft Dynamics NAV: Maximizar formulario desde código

Quien no ha tenido el problema de tener una formulario maximizado y al realizar alguna acción sobre este se quede minimizado o en un tamaño menor, como ejemplo cuando se envían correos.
Esto a veces puede resultar molesto, bueno solo debes maximizarlo, pero después de investigar un poco he visto una solución. Se trata de pasar una combinación de teclas que nos permita maximizarla desde código. Realmente si lo tuviesemos que hacer desde teclado sería <ATL>+<-> para sacarnos el menú contextual de formulario y luego <X> para maximizar, <N> para minimizar, etc... (ver imagen)


Pues la cuestión es hacer esto mismo enviando la combinación de teclas adecuada.
Para ello deberemos declarar una variable automation 'Windows Script Host Object Model'.WshShell.
Esta nos sirve para utilizar la función SendKeys y para el ejemplo de maximizar ventana el código sería el siguiente:

Desde teclado normal: <ALT>+<->+<X>
Desde código: WShell.SendKeys('%'+'{-}'+'{X}');

De esta forma le estamos diciendo que saque el menú contextual y maximice.
A partir de aquí imaginación xd.

Espero que os sea de utilidad. Hasta la próxima.