Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-11-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Nueva Pagina con PageControl

Hola a todos, mi consulta es la siguiente. estoy Utilizadon un PageControl (con delphi 6) y necesito crear una pagina nueva en tiempo de ejecucion (una igual a la que ya esta creada (clonarla)) pero el problema es que no se como acerlo, alguien sabria decirme como puedo hacer esto?
Responder Con Cita
  #2  
Antiguo 03-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Enan0
...necesito crear una pagina nueva en tiempo de ejecucion (una igual a la que ya esta creada (clonarla)) pero el problema es que no se como acerlo, alguien sabria decirme como puedo hacer esto?
Crear la página es sencillo. Lo que es un poco más complicado es "clonarla" (entiendo que entonces debes crear otros componentes).
Deberías hacer:
(1) Un recorrido de todos los componentes existentes en la pestaña original.
(2) Crear uno de la misma clase en la pestaña nueva.
(3) Asignarles las mismas propiedades que el original.

(1) Revisa en la ayuda y en los foros sobre recorridos utilizando (Components y ComponentCount)
(2) Puedes obtener la clase con GetClass (revisa ayuda y foros, hay ejemplos); con eso podrás ir creando componentes de la misma clase.
(3) Puedes utilizar el Assign (no tengo claro si funcionará del todo -por temas de parent), o sino ir asignando propiedades "a mano" (Left, Top, Color,...)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 03-11-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Gracias Neftali, Me pondre a investigar sobre lo que me pasaste.. cualquier cosa vuelvo a postear.
Responder Con Cita
  #4  
Antiguo 04-11-2005
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Bueno aca estoy intentado Crear una nueva Pagina (TabSheet, creo que esto es la pagina).
Se que algo estoy haciendo mal, pero la verdad no se que es.

Código Delphi [-]

  procedure TfrmStatus.CrearPagina(s: string);
  var
i:integer;
  
  begin
 i:=PControl.PageCount +1; // Incremento el Contador del PageControl
   Pages[i]:= TTabSheet.Create(nil);
   Pages[i].Name:='P'+Copy(s,2,Length(s)); //cambio el Nombre
   Pages[i].Visible :=true;
   Pages[i].Caption:=s;
   PControl.ActivePage:=Pages[i];
  end;

Última edición por Enan0 fecha: 04-11-2005 a las 13:51:05.
Responder Con Cita
  #5  
Antiguo 04-11-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que te está liando; Además me has cambiado el códio a medio modificar, de todas formas, lo primero que debes hacer es crear el objeto y luego asignarle las propiedades correctas.

Revisa el siguiente código:
Código Delphi [-]
 procedure TForm1.Button2Click(Sender: TObject);
 var
    Aux:TTabSheet;
 
   procedure CrearPagina(s: string);
   begin
     Aux := TTabSheet.Create(PControl.Owner);
     Aux.Name := 'Copia_de_' + s;
     Aux.PageControl := PControl;
     Aux.Caption := Aux.Name;
     PControl.ActivePageIndex := (PControl.PageCount - 1);
   end;
 
 
 begin
   CrearPagina(PControl.ActivePage.Name);
 end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 04-11-2005
Avatar de Ohcan
[Ohcan] Ohcan is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: Madrid (España)
Posts: 119
Poder: 20
Ohcan Va por buen camino
Hola

Creo que te falta
Código Delphi [-]
  Pages[i].PageControl := PControl;

Saludos.
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin)
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 00:21:49.


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