FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
TLabeledEdit y TPageControl
Estoy trabajando con BCB 6.
Tengo un formulario con un TPageControl que tiene tres TabSheet. Si pongo un TLabeledEdit (o un TLabel, me da lo mismo) en el fomulario y luego lo traslado sobre el TPageControl, el Caption de la etiqueta se oculta debajo del TPageControl. ¿Cómo puedo hacer para que se vea el Caption? Me ocurre lo mismo con un TLabel que con un TLabeledEdit. |
#2
|
||||
|
||||
Hola Angel, por favor, no olvides poner títulos descriptivos, gracias
|
#3
|
||||
|
||||
Angel, esa es una incomodidad propia de delphi y Builder, al menos hasta las versiones que yo he usado. Para poder pasar un control de un contenedor a otro debes editar a mano el archivo dfm trasladando el código del control de un contenedor al otro.
En tu caso quedaría algo así: Código:
object PageControl1: TPageControl Left = 64 Top = 40 Width = 273 Height = 185 ActivePage = TabSheet3 TabIndex = 2 TabOrder = 0 OnChange = PageControl1Change object TabSheet1: TTabSheet Caption = 'TabSheet1' object Label1: TLabel Left = 80 Top = 80 Width = 32 Height = 13 Caption = 'Label1' end end object TabSheet2: TTabSheet Caption = 'TabSheet2' ImageIndex = 1 end object TabSheet3: TTabSheet Caption = 'TabSheet3' ImageIndex = 2 end end |
#4
|
||||
|
||||
Gracias por la respuesta escafandra. El problema no es ese, y veo que me he explicado mal. Si yo pongo un TLabel o un TLabeledEdit directamente en el TabSheet se ve sin ningún problema.
En esta imagen Label1 está dentro del TabSheet: Código:
object PageControl1: TPageControl Left = 5 Top = 5 Width = 289 Height = 193 ActivePage = TabSheet1 TabIndex = 0 TabOrder = 0 object TabSheet1: TTabSheet Caption = 'TabSheet1' object Label1: TLabel Left = 5 Top = 15 Width = 32 Height = 13 Caption = 'Label1' end end object TabSheet2: TTabSheet Caption = 'TabSheet2' ImageIndex = 1 end end |
#5
|
||||
|
||||
Tienes razón. Disculpa.
|
#6
|
||||
|
||||
Hola Angel.Matilla
Estando superpuestos en un mismo contenedor, un TGraphicControl siempre se ocultará detrás de un TWinControl. Si el que se encuentra detrás del TPageControl se trata de un TWinControl, un TEdit por ejemplo , bastaría con hacer: Pero eso no funcionará con un descendiente de TGraphicControl y ese es el caso de TLabel. Lo que podrías hacer es lo siguiente: Código PHP:
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 29-09-2014 a las 12:58:34. |
#7
|
||||
|
||||
Comprendido. Ahora entiendo por qué con un TLabeledEdit sí veo el cuadro (parte TEdit) y no el rótulo (parte TLabel). Sólo una pregunta: Esa función btnLabelOnTabSheetClick, ¿está definida port el usuario o es un evento del TabSheet?
|
#8
|
||||
|
||||
Hola de nuevo.
Es el evento OnClick de un TButton llamado "btnLabelTabSheet" (o el evento que prefieras) Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
Perfecto. Muchas gracias.
|
#10
|
||||
|
||||
No entiendo para qué hacer por código lo que se puede hacer desde el diseño. Se selecciona la componente, se abre el menú contextual, se escoge Cortar y luego se pega dentro del contenedor deseado.
// Saludos |
#11
|
||||
|
||||
Cita:
y luego modifico la propiedad Top de dicho elemento, poniendo por ejemplo 35, en lugar de ver ese Caption Label2 simplemente el TLabel desparece y, en diseño, se ve como en la imagen del primer mensaje Las sugerencias que me habéis hecho se basan todas en hacer que el TLabel o el TLabeledEdit dependa del TPageControl (Label1->Parent = PageControl1) y no es eso. Yendo a modificar directamente el dfm a pedal se me ocurrió esta forma: Código:
object PageControl1: TPageControl Left = 125 Top = 55 Width = 516 Height = 291 ActivePage = TabSheet1 TabIndex = 0 TabOrder = 0 object Label2: TLabel Left = 270 Top = 60 Width = 32 Height = 13 Caption = 'Label2' end object TabSheet1: TTabSheet Caption = 'TabSheet1' object Label1: TLabel Left = 20 Top = 15 Width = 32 Height = 13 Caption = 'Label1' end end end |
#12
|
||||
|
||||
Usa un TStaticText. Es como un TLabel, pero es un TWinControl en lugar de un TGraphicControl.
// Saludos |
#13
|
||||
|
||||
Incluso puedes usar un TFrame con un TLabel y un TEdit dentro. El TFrame lo colocas arriba del PageControl y tienes el efecto deseado.
// Saludos |
#14
|
||||
|
||||
¿Ves? Esto no se me había ocurrido y me viene de perlas. Gracias.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ver tpagecontrol | vicentnew | Varios | 1 | 07-02-2013 15:06:50 |
evento de tpagecontrol | gonza_619 | Varios | 1 | 20-11-2010 21:09:25 |
Problema con TlabeledEdit | Besto | Varios | 5 | 01-09-2008 13:39:47 |
TPageControl | Neiro | SQL | 4 | 06-10-2006 22:25:57 |
TpageControl | agora18 | Varios | 6 | 17-10-2003 01:04:43 |
|