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 20-01-2017
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 22
Jose_Pérez Va por buen camino
Cita:
Empezado por AgustinOrtu Ver Mensaje
Hay varias formas de tratar con componentes anidados. Hay una presentación de Ray Konopka del CodeRage X que explica muy claramente unas 3 variantes, te recomiendo que la mires
Un artículo muy interesante. Pero fíjate que los componentes que utiliza de ejemplo (TTimer, TLabel y TBevel) ninguno puede tomar el foco de entrada, por lo tanto, no aparecen nunca en las ventana de ordenación de acceso. Además no aporta nada nuevo a mi código, al menos en Delphi 5.

Cita:
Empezado por AgustinOrtu Ver Mensaje
Una alternativa es utilizar sub componentes. Esto sería como el caso del TLabeledEdit en donde todas las propiedades del TLabel están disponibles para modificar.

Otra forma es publicar las propiedades del sub componente que te interesan modificar. De este modo se promueve el encapsulamiento
No es esto lo que busco.

Muchas gracias por tu amable respuesta.
Responder Con Cita
  #2  
Antiguo 20-01-2017
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 22
Jose_Pérez Va por buen camino
Revisando un poco mi código, me he dado cuenta que quizás el problema está al asignar la propiedad parent. En lugar de FDateEdit.Parent:=Self (mi component) le asigno FDateEdit.Parentt:=Parent (la ventana que lo contiene) para que FDateEdit (es un botón de edición) se muestre junto al TSpecialEdit. Mii intención es encapsular los dos componentes para que parezcan uno solo.

Código Delphi [-]

// Cuando se da una condición lo hago visible asignandole la propiedad Parent.

procedure TSpecialEdit.WMPaint(var Message: TWMPaint);
begin

 inherited;

  If Condicion Then
     begin

     If FDateEdit.Parent=Nil Then
        FDateEdit.Parent:=Parent {<- probablemente el problema está aquí}

     end
     else
     FDateEdit.Parent:=Nil;

end;
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
No aparece la ventana emergente de codigo en el editor. Jere_84 Varios 3 07-07-2014 21:15:45
No aparece dentro PHP 5.5.1 el modulo interbase.so subzero PHP 0 30-04-2014 16:36:14
Free a un componente dentro de otro r_e_g_2007 OOP 10 12-03-2012 20:18:21
Problema acceso propiedades de un componente de otro formulario mguixot OOP 3 01-11-2004 01:40:09
Un componente dentro de otro. Tonio OOP 9 11-11-2003 23:44:12


La franja horaria es GMT +2. Ahora son las 08:18:58.


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