![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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 |
|
#2
|
|||
|
|||
|
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. |
|
#3
|
||||
|
||||
|
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; Código:
pnlFondo.Top := 0; pnlFondo.Left := 0; pnlFondo.Height := Self.Height; pnlFondo.Width := Self.Width; 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.
|
|
#4
|
||||
|
||||
|
Cita:
// Saludos |
|
#5
|
||||
|
||||
|
Cita:
![]() Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#6
|
||||
|
||||
|
Cita:
De cualquier manera ya haré la prueba pues realmente me intriga ver qué aspecto tiene una cosa así. Para Diegoval que dijo: Cita:
// Saludos |
|
#7
|
|||
|
|||
|
Ahora entiendo menos...
El tema es el siguiente:
El ejemplo que yo puse (un TLabel con un TPanel) es medio tonto y la verdad es que por si no funciona para nada... pero me sierve para probar como hacer para crear un componente visual dentro de otro tambien visual... por ejemplo... Yo quiero hacer un componente que represente un cuadrado dentro de otro y luego unir los vertices superior izuierdo del mas grande con un superior izquierdo del mas chico y asi...(lo que simularía un diente en la planilla odontológica) para despues capturar el mensaje click y hacer lo que corresponda segun en que area del diente clickee... ahora viene el problema de cómo hacerlo. A mi se me ocurrio heredar de un TShape y luego crear otro TShape para ponerlo dentro y luego hacer las lineas que unan los vértices. Bueno, el tema es que se cómo hacer para crear un componente desde otro componente, o sea, la pregunta sería como hacer para hacer eso? Lo anterior (del componente TLabel y el TPanel) lo solucioné asignando las propiedades Left, Top, etc. del panel en el evento Paint del Label y no en el Create. (Igualmente no me funcionó del todo bien, seguramente no se debe hacer asi...) La verdad me parece tan sencillo que no se por qué no me sale, pero tampoco se me ocurren soluciones alternativas para crear un diente...!!! |
|
#8
|
||||
|
||||
|
Cita:
. Al llamar al constructor heredado:Código:
Constructor TLabelTimer.Create(AOwner : TComponent); Begin inherited Create(AOwner); Código:
constructor TCustomLabel.Create(AOwner: TComponent); begin inherited Create(AOwner); ControlStyle := ControlStyle + [csReplicatable]; Width := 65; Height := 17; ... Código:
pnlFondo.Parent := Self.Parent; Cita:
¡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 .
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#9
|
||||
|
||||
|
Cita:
De hecho sí es lo que pretendía y de ahí las recomendaciones de cadetill y mia. // Saludos |
|
#10
|
||||
|
||||
|
¡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 .
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#11
|
||||
|
||||
|
Je, je, tienes toda la razón Al. Creo que este hilo fue demasiado largo y terminé confundiéndome con mis propias indicaciones
// Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|