No cuadran los controles con el formulario

Consultas sobre el lenguaje Pauscal

No cuadran los controles con el formulario

Notapor jmetin2 » Jue Dic 19, 2013 5:34 am

Hola amigos, me pasa esto:

En visual pauscal creo un form y un Button, el Button lo pongo pegado al borde inferior... Cuando compilo el programa resulta que el Button se alargo.

1: ¿Porqué sucede esto?

2: ¿Que puedo hacer?
:)
jmetin2
 
Mensajes: 168
Registrado: Jue Dic 15, 2011 12:07 pm
Ubicación: Merida, Yucatan, Mexico

Sponsor


Re: No cuadran los controles con el formulario

Notapor ErikH » Dom Dic 22, 2013 5:58 pm

Lo que sucede es que el tamaño del formulario no toma en cuenta las dimensiones de lo que se muestra dentro de la ventana, sino el tamaño de la ventana total, incluyendo barra de título y bordes 3d. Para ver el area que tienes disponible para mostrar objetos utiliza GetClientRect()

Me pasaba en el Juego-tipo puzzle por eso le agregué un código para obtener las dimensiones del boton que esta mas abajo a la derecha, y ya con estos datos le agregaba la diferencia al tamaño del formulario.

Imagen
dimensiones.PNG
(7.37 KiB) Aún no descargado


Código: Seleccionar todo
rct1.Right=boton[LongMat(boton)-1].X+boton[LongMat(boton)-1].Ancho+margen_px
rct1.Bottom=boton[LongMat(boton)-1].Y+boton[LongMat(boton)-1].Alto+margen_px
GetClientRect(Frm_padre.hWnd,rct2) 'obtiene el area visible del formulario
difX=rct1.Right-rct2.Right
difY=rct1.Bottom-rct2.Bottom
Frm_padre.Ancho=Frm_padre.Ancho+difX
Frm_padre.Alto=Frm_padre.Alto+difY


Prueba a borrar ese código del juego.

en un impreciso pseudocódigo, aunque solo para el ancho para simplificar, sería:
Código: Seleccionar todo
ancho_actual = Form.ancho
ancho_deseado = objeto.x + objeto.ancho + margen
ancho_visible = GetClientRect().Right
Form.ancho = ancho_actual + (ancho_deseado - ancho_visible)


¡Suerte!
ImagenEntrá a la wiki en OpenShift
Colofox!!!!
ErikH
 
Mensajes: 151
Registrado: Jue Nov 29, 2007 11:24 pm
Ubicación: Algún lugar de México

Re: No cuadran los controles con el formulario

Notapor jmetin2 » Lun Dic 23, 2013 11:25 pm

Orales gracias.
:)
jmetin2
 
Mensajes: 168
Registrado: Jue Dic 15, 2011 12:07 pm
Ubicación: Merida, Yucatan, Mexico


Volver a Dudas, Preguntas y Respuestas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron