PDA

Ver la Versión Completa : [Componente] Descolocacion formulario en resolucion 1920x1080


Breew
7 de enero de 2018, 00:06
Hola.

Siempre he programado en un portatil 1336x768 y no me daba nunca problemas al correr en otras resoluciones.

Ahora me he encontrado que tengo formularios que han perdido la estetica en un monitor mas apaisado 1920x1080.

Que opciones poneis en los formularios para que el cambio de definicion de pantalla no los desordene.


Saludos

Kuk
7 de enero de 2018, 11:20
Breew, yo siempre lo hago a mano, recalculando posiciones en el evento "Resized"

Breew
7 de enero de 2018, 11:43
Hola Kuk.

Ahora me lo mirare, pero no se como montarmelo porque al no poder programar con ese monitor, no se rectificarlo adecuadamente.
lo unico que veo es que esta muy descolocado en horizontal.

Tienes algun ejemplo a mano ?


Saludos.





Breew, yo siempre lo hago a mano, recalculando posiciones en el evento "Resized"

Kuk
7 de enero de 2018, 16:59
Breew, en mi caso lo que hago es elegir algunos campos que se redimensionan y otros no. Luego en el evento "Resized", haces algo en plan:


ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
01 POW-ARG-STATE PIC S9(4) COMP-5.
01 POW-ARG-CLIENTWIDTH PIC S9(9) COMP-5.
01 POW-ARG-CLIENTHEIGHT PIC S9(9) COMP-5.
PROCEDURE DIVISION USING POW-ARG-STATE POW-ARG-CLIENTWIDTH POW-ARG-CLIENTHEIGHT.

IF POW-ARG-CLIENTWIDTH < 1270
MOVE 1270 TO POW-ARG-CLIENTWIDTH
END-IF

IF POW-ARG-CLIENTHEIGHT < 712
MOVE 712 TO POW-ARG-CLIENTHEIGHT
END-IF
COMPUTE "Width" OF CmTab1 = POW-ARG-CLIENTWIDTH - "Width" OF TreePanel
MOVE POW-ARG-CLIENTHEIGHT TO "Height" OF CmTab1

COMPUTE "Width" OF GroupCONTEN = "Width" OF CmTab1 - 18
COMPUTE "Width" OF CmFrame45 = "Width" OF GroupCONTEN - 23
COMPUTE "Width" OF CmListView1 = "Width" OF CmFrame45 - 2


Etc. Es decir, para los controles que se deben redimensionar, haces un cálculo basándote en otros controles y/o tamaño total del Form.

Rapinto
7 de enero de 2018, 20:50
Breew,

A resolução que utilizaste 1336x768 tem uma relação 1336/768=1,739
A resolução que pretendes agora é de 1920x1080 que tem uma relação 1920/1080=1,777

Penso que isso é que provoca a colocação errada.
O tamanho que utilizaste não é 16:9.

Terias que programar num tamanho de ecran com relação 1,777
Talvez assim ao passar para o tamanho 16:9 16/9=1,77777) não provocasse a distorção.
Como diz o Kuk, nestas coisas o melhor e ser programado por nós.
Un saludo,
Rui Pinto