Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-02-2005
SyncMaster SyncMaster is offline
Miembro
 
Registrado: mar 2004
Posts: 15
Poder: 0
SyncMaster Va por buen camino
¿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.
Responder Con Cita
  #2  
Antiguo 08-02-2005
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
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.
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
  #3  
Antiguo 08-02-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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:
Empezado por ayuda de Delphi
Override GetClientRect to change how the client area is calculated.
// Saludos
Responder Con Cita
  #4  
Antiguo 09-02-2005
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
También existe AdjustClientRect, el cual según la ayuda de Delphi:

Cita:
Adjusts the ClientRect property for the idiosyncrasies of the window.
Y para más detalle:

Cita:
Description
AdjustClientRect is called internally when the panel needs accurate information on where to place child controls within the client area. AdjustClientRect reduces ClientRect by the width of the inner and outer bevels so that child objects are not placed on the beveled region.
Saludos...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:39:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi