hola a todos, estoy haciendo una aplicacion y se me ocurrió mostrar un formulario(ejemplo de gráficos de estadísticas y cosas así) en la pantalla extendida; las personas q tienen mas de dos monitores conectados al mismo ordenador tienen la opción d duplicar la pantalla y extender el escritorio, bueno como le digo al form si encuentra una pantalla extendida que se muestre en esta...
gracia de antemano
como mostrar una form en pantalla extendida
Started by
cl2raul66
, Oct 08 2014 09:14 AM
3 replies to this topic
#1
Posted 08 October 2014 - 09:14 AM
#2
Posted 08 October 2014 - 12:51 PM
Supongo que podrías empezar intentando consultar por el tamaño de pantalla, ya que al ser extendida es muy probable que la cantidad de pixeles horizontales sea igual a la suma de la cantidad de pixeles horizontales de cada pantalla.
En otras palabras, podrías consultar por la resolución del escritorio. Luego, podrías detectar la resolución de la pantalla primaria y deducir la resolución de la pantalla secundaria.
Esto no es una solución. Solo es para que lo pruebes, ya que lo contesto apurado y sin investigar mucho sobre el asunto, o sea, usando algo de sentido común. (Lo único que no me cabe es cuando los monitores usan distinta resolución.)
DefaultLocation determina el lugar en que se ubica el form al activarse.
poDesktopCenter, por ejemplo ubica el form en el centro.
También podrías averiguar algo desde la función GetSystemMetrics.
http://msdn.microsof...5(v=vs.85).aspx
Saludos.
En otras palabras, podrías consultar por la resolución del escritorio. Luego, podrías detectar la resolución de la pantalla primaria y deducir la resolución de la pantalla secundaria.
Esto no es una solución. Solo es para que lo pruebes, ya que lo contesto apurado y sin investigar mucho sobre el asunto, o sea, usando algo de sentido común. (Lo único que no me cabe es cuando los monitores usan distinta resolución.)
DefaultLocation determina el lugar en que se ubica el form al activarse.
poDesktopCenter, por ejemplo ubica el form en el centro.
También podrías averiguar algo desde la función GetSystemMetrics.
http://msdn.microsof...5(v=vs.85).aspx
Saludos.
#3
Posted 09 October 2014 - 05:10 PM
Hola
Puedes revisar Vcl.Forms.TScreen.Monitors esto lo tomo de XE2, pero se que viene desde hace varias versiones.
En este array encuentras los monitores diponibles.
Igualmente puedes jugar con la propiedad TForm.Monitor para posicionarlo en un monitor especifico.
y cada formulario también tiene una propiedad llamada TForm.defaultMonitor la cual le indica como debe crear un formulario por defecto dependiendo donde se encuentra el formulario principal. es decir si la aplicación la mueves a la pantalla extendida y creas el form, donde la debe ubicar por defecto.
Espero sea de utilidad.
Puedes revisar Vcl.Forms.TScreen.Monitors esto lo tomo de XE2, pero se que viene desde hace varias versiones.
En este array encuentras los monitores diponibles.
Igualmente puedes jugar con la propiedad TForm.Monitor para posicionarlo en un monitor especifico.
y cada formulario también tiene una propiedad llamada TForm.defaultMonitor la cual le indica como debe crear un formulario por defecto dependiendo donde se encuentra el formulario principal. es decir si la aplicación la mueves a la pantalla extendida y creas el form, donde la debe ubicar por defecto.
Espero sea de utilidad.
#4
Posted 09 October 2014 - 05:42 PM
Genriquez,
Si bien no lo pregunté Yo, agradezco esa información. Es muy útil.
Saludos
Si bien no lo pregunté Yo, agradezco esa información. Es muy útil.
Saludos