screenclase v10x 2020.11.04 FULL FREE (sin importar, la resolución de pantalla, del cliente, se vera igual a la de diseño)
optimox. es similar a optimoc, pero algunos objetos no se deforman. (grilla, shapes, y otros)
el modo mas usado es "optimoh"
LOCAL oscreenclase as screenclase OF screenclase.vcx
oscreenclase = NEWOBJECT("screenclase","screenclase.vcx")
oscreenclase.pscreenwindows(thisform,"optimoh",800,600)
German Fabricio Valdez
link
esta clase es para adaptar el programa, a cualquier resolucion de pantalla automaticamente. tanto sea para agrandar o reducir , en el cliente, los formularios se muestran igual a cuando lo diseñaron, hay que colocar la resolucion de tu pc de desarrollo
No se graba la configuración en ningún archivo. Screenclase es automática al entrar a un formulario. Y según la resolución de la PC de cada cliente, agranda o reduce los formularios. Se van a ver en todas las pcs con el mismo tamaño que usaste para diseñarlos
debe adjuntarse screenclase al proyecto
luego el evento init de cada formulario escribir
LOCAL oscreenclase as screenclase OF screenclase.vcx
oscreenclase = NEWOBJECT("screenclase","screenclase.vcx")
oscreenclase.pscreenwindows(thisform,"optimo",800,600) identico a optimoc
oscreenclase.pscreenwindows(thisform,"optimoc",800,600) deforma el formulario, y el tamaño de los objetos
oscreenclase.pscreenwindows(thisform,"optimop",800,600) no deforma el formulario, ni el tamaño de los objetos
oscreenclase.pscreenwindows(thisform,"optimoq",800,600) conserva el tamaño de los objetos 1:1, pero cambia si se dimensiona el formulario manualmente, deformando
oscreenclase.pscreenwindows(thisform,"optimoh",800,600) conserva el tamaño de los objetos 1:1, pero cambia si se dimensiona el formulario manualmente, sin deformar
oscreenclase.pscreenwindows(thisform,"optimor",800,600) conserva el tamaño de los objetos 1:1 no aumenta el tamaño de los objetos, y al aumentar el tamaño se deforma
oscreenclase.pscreenwindows(thisform,"optimod",800,600) identico a "optimoc",deforma menos
oscreenclase.pscreenwindows(thisform,"optimok",800,600) conserva el tamaño de los objetos 1:1, y no cambia si se redimensiona el formulario manualmente
oscreenclase.pscreenwindows(thisform,"optimom",800,600) conserva el tamaño de los objetos 1:1, y si cambia si se redimensiona el formulario manualmente
oscreenclase.pscreenwindows(thisform,"optimox",800,600) conserva el tamaño de algunos objetos 1:1, y si cambia si se redimensiona el formulario manualmente
tambien
pueden colocar en el tag de un objeto: "optimop" o "optimoq" o "optimoc" o "optimor" o "optimoh" o "optimod", "optimok", "optimom", "optimox", para configurar solo ese objeto
800,600 es la resolucion que ustedes hicieron el proyecto por ejemplo 1280,800
para un formset debe ponerse en el evento init, no es necesario colocar en cada formulario
variantes
"optimo"
"optimoc"
"optimop"
"optimoq"
"optimor"
"optimoh"
"optimod"
"optimok"
"optimom"
"optimox"
"noautocenter" &&no centra el formulario
"noborderstyle &&cambia el tipo de borde en el formulario
"nomaxbutton" &&cambia la propiedad de maxbutton=.T.
variantes en el tag
"nofontsize" && no cambia el tamaño de la fuente del objeto
LOCAL oscreenclase as screenclase OF screenclase.vcx
oscreenclase = NEWOBJECT("screenclase","screenclase.vcx")
oscreenclase.pscreenwindows(thisform,"optimo noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimoc noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimop noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimoq noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimor noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimoh noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimod noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimok noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimom noautocenter noborderstyle nomaxbutton",800,600)
oscreenclase.pscreenwindows(thisform,"optimox noautocenter noborderstyle nomaxbutton",800,600)
mas detalles
hay 9 formas de configurar el formulario
conservando las proporciones originales
optimop no deforma
optimor si deforma
ajustado a la resolucion
optimod si deforma
optimoc si deforma
optimox si deforma todo menos algunos objetos como imagenes, grillas, shape
ajustado a la resolucion 1:1
optimoh no deforma
optimoq si deforma
ajustado a la resolucion
optimok no deforma
optimom si deforma
*************
dentro del formulario en cualquier objeto configuran la propiedad TAG, con nofontsize
pueden configurar la propiedad "anchor" del objeto, a cualquier valor.
ejemplo: 48 no deforma, o 240 si deforma
la propiedad TAG
deben colocar las cadenas en tiempo de diseño.
solo se usa tag una sola vez en el init del formulario, de aquellas que tiene parametros "nofontsize","noimagen","optimoc","optimop","optimoq","optimor","optimoh","optimod"
luego pueden usarla para otro proposito en tiempo de diseño y/o en tiempo de ejecucion
************toolbar y objetos en el _screen
*deben eliminar toolbar creado, y luego crearlo nuevamente
IF TYPE("_screen.obarra")=="O"
REMOVEPROPERTY(_screen,"obarra")
endif
LOCAL obarra as barra OF barra.barra
obarra = NEWOBJECT("barra","barra.vcx")
obarra.visible=.t.
_screen.addproperty("obarra","obarra")
LOCAL oscreenclase as screenclase OF screenclase.vcx
oscreenclase = NEWOBJECT("screenclase","screenclase.vcx")
oscreenclase.pscreenwindows(_screen,"optimoh",800,600)
tambien, si quieren solo redimensionar un objeto
LOCAL oscreenclase as screenclase OF screenclase.vcx
oscreenclase = NEWOBJECT("screenclase","screenclase.vcx")
oscreenclase.pscreenwindows(_screen.obarra,"optimoh",800,600)