Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 27
__cadetill Va por buen camino
Cita:
Empezado por roman
O el padre de TLabelTimer pasa a ser el padre de pnlFondo o el padre de pnlFondo pasa a ser el padre de TLabelTimer.
Bueno, yo me refería a la primera opción

jejejejeje
Responder Con Cita
  #2  
Antiguo 25-03-2004
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
Cita:
Empezado por cadetill
Bueno, yo me refería a la primera opción
Lo sé...

ahora, porque yo me fui con la segunda opción y tuve que corregir el mensaje anterior donde te corregía.

Responder Con Cita
  #3  
Antiguo 26-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 30
jachguate Va por buen camino
En todo caso, si lo que se pretende es que la etiqueta aparezca dentro del panel... yo cambiaria la herencia, de manera que el nuevo componente herede del TPanel, y en su creación se fabrique una etiqueta que mostrará la hora... o simplemente que muestre la hora en su propiedad Caption.. que es casi una etiqueta... no???

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 26-03-2004
Diegoval Diegoval is offline
Miembro
 
Registrado: mar 2004
Ubicación: Buenos Aires, Argetina
Posts: 16
Poder: 0
Diegoval Va por buen camino
El problema era otro

Muchas gracias a todos por responderme, pero la verdad es que el problema era otro...

Todo eso que me dijeron yo lo había probado (eso de jugar con los parents) pero me lo seguia sin mostrar como mínimo, pues hasta en algunos casos hasta me tiraba error . Lo que dice jachguate es totalmente verdadero, el componente no sirve para nada y se podría haber hecho uno que herede de TPanel y tocar su propiedad Caption, pero el tema es que yo lo estoy haciendo mas que nada para aprender y no sabía porque no se mostraba, hasta que me mandaron una erspuesta de otro foro que me resultó:

El tema es que cuando le asigno las propiedades de Self.Top, Self.Left, etc. estas propiedades todavía no tienen un valor (ya que el componente se esta creando), solamente por eso es que no se mostraba, ya lo corregí y ahora funciona perfectamente...

Igualmente muchisimas gracias a todos, nuevamente.
Responder Con Cita
  #5  
Antiguo 26-03-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Me parece que estas cometiendo un error al hacer:
Código:
pnlFondo.Top := Self.Top;
pnlFondo.Left := Self.Left;
pnlFondo.Height := Self.Height;
pnlFondo.Width := Self.Width;
Posiblemente lo que quieras hacer es:
Código:
pnlFondo.Top := 0;
pnlFondo.Left := 0;
pnlFondo.Height := Self.Height;
pnlFondo.Width := Self.Width;
Recuerda que este componente esta contenido por el Self.

Otra opción puede ser trabajar con BoundsRect y ClientRect o con la propiedad Align := alClient!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 26-03-2004
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
Cita:
Empezado por delphi.com.ar
Recuerda que este componente esta contenido por el Self.
¡Pero de aquí parte la confusión! No puede estar contenido en Self ya que Self es un derivado de TLabel y TLabel no es un contenedor. Quizá redefiniendo ValidateContainer pero realmente dudo que tal sea la intención, ¡¿un panel dentro de un label!??

// Saludos
Responder Con Cita
  #7  
Antiguo 26-03-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por roman
¡Pero de aquí parte la confusión! No puede estar contenido en Self ya que Self es un derivado de TLabel y TLabel no es un contenedor. Quizá redefiniendo ValidateContainer pero realmente dudo que tal sea la intención, ¡¿un panel dentro de un label!??
Eso me pasa por no haber leído todo el hilo, mismo ahora me doy cuenta que ya lo solucionó!

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 28-03-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Diegoval
...cuando le asigno las propiedades de Self.Top, Self.Left, etc. estas propiedades todavía no tienen un valor (ya que el componente se esta creando), solamente por eso es que no se mostraba...
Tienes razón . Al llamar al constructor heredado:
Código:
Constructor TLabelTimer.Create(AOwner : TComponent);
Begin
inherited Create(AOwner);
se inicializa el objeto etiqueta a Left = 0, Top = 0, Width = 65 y Height = 17:
Código:
constructor TCustomLabel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  ControlStyle := ControlStyle + [csReplicatable];
  Width := 65;
  Height := 17;
...
Por lo cual, el objeto TPanel toma las dimensiones iniciales de la etiqueta. Sin embargo, la sentencia
Código:
pnlFondo.Parent := Self.Parent;
le asigna un valor de Nil a la propiedad Parent del objeto TPanel, debido a que en ese momento Selft.Parent (o simplemente "Parent"), es decir, la propiedad Parent de la etiqueta, aún no tiene valor asignado. Si tal etiqueta es un control agregado a una forma en tiempo de diseño, entonces será hasta que el componente se cargue, cuando le sea asignado un valor (esto es después de la construcción).


Cita:
Empezado por roman
...te darás una idea general de que son los controles contenedores y porque entonces no es una buena idea tratar de meter una componente en un TLabel...
De hecho Diegoval no pretendía meter el objeto panel dentro del objeto etiqueta. Sólo los objetos derivados de TWinControl (TLabel no lo es) son asignables a la propiedad Parent de los componentes controles (derivados de TControl).


¡Hasta pronto!

Al González .

Los negocios se deben ajustar a las capacidades humanas, no las capacidades humanas a los negocios. Por una vida laboral sana .
Responder Con Cita
  #9  
Antiguo 28-03-2004
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
Cita:
Empezado por Al González
De hecho Diegoval no pretendía meter el objeto panel dentro del objeto etiqueta. Sólo los objetos derivados de TWinControl (TLabel no lo es) son asignables a la propiedad Parent de los componentes controles (derivados de TControl).

De hecho sí es lo que pretendía y de ahí las recomendaciones de cadetill y mia.

// Saludos
Responder Con Cita
  #10  
Antiguo 29-03-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Aclaración

¡Hola a todos!

Román:

Me refiero a que no pretendía meterlo visual y formalmente hablando. Es decir, en ningún momento parece haber intentado que el objeto etiqueta fuera el contendor del objeto panel (como tu lo señalas).

Si revisas de nuevo su código y comentarios, notarás que Diegoval intentaba crear un objeto TPanel dentro de (junto con) la creación del objeto etiqueta, para que la etiqueta estuviese acompañada de un panel con la misma posición, tamaño y contenedor padre. Un reloj con realse por sobreposición visual de controles.

De cualquier manera, reconozco que el tema presentó algunos nudos de confusión, y que tratándose de creación de controles, palabras como dentro se prestan a diversas interpretaciones.

Un abrazo.

Al González .
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 03:55:28.


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