![]() |
¿Como cambiar el area Cliente de un component?
Hola,
Tengo un componente que deriva del TCustomPanel y que será contenedor de otros componentes. Ahora bien necesito cambiar el area cliente del componente con el fin que los controles que inserte dentro de él se ajusten a las medidas. Actualmente delphi proporciona una propiedad BorderWidth que sirve para el caso, PERO el area es pareja para todos los lados, esa funcionalidad no me sirve para el objetivo que deseo conseguir ya que el area cliente es desigual para los 4 lados. Ejemplo : Imaginemos un panel cuyas medidas son 100x100, tendremos que el area cliente sera (0,0,100,100) TRECT, entonces necesito conseguir por ejemplo cambiarlo a : (10,30,70,80) Sin modificar la medida del panel (100x100) Asi los controles que ponga dentro de él se alinien dentro de esas medidas. (Se entiende) Alguien tiene alguna técnica al respecto, o función API para lograr el objetivo?. Gracias, Saludos de Chile. |
Hola,
prueba modificando las propiedades ClientWidth y ClientHeight de tu panel. Según la ayuda de Delphi: property ClientWidth: Integer; Description Use ClientWidth to read or change the width of the control’s client area. ClientWidth is equivalent to ClientRect.Right. |
Los descendientes de TControl, como TCustomPanel, tienen un método protegido, GetClientRect, que puedes redefinir para tales efectos, al menos a juzgar por la ayuda de Delphi:
Cita:
|
También existe AdjustClientRect, el cual según la ayuda de Delphi:
Cita:
Cita:
|
La franja horaria es GMT +2. Ahora son las 07:58:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi