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 05-09-2008
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
Red face Como puedo abrir un form en un PageControl

buenas tardes, disculpen pero he buscado aqui y en varias partes pero no he encontrado, capaz que no he puesto la palabra correcta.

lo que intento hacer es una aplicacion que abra las ventanas dentro de un pagecontrol o tabs, asi como los navegadores de hoy en dia.

alguien sabe de algun codigo o componente que haga esto de la manera mas sencilla posible?

muchas gracias por su apoyo.
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #2  
Antiguo 05-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por marcoev Ver Mensaje
buenas tardes, disculpen pero he buscado aqui y en varias partes pero no he encontrado, capaz que no he puesto la palabra correcta.

lo que intento hacer es una aplicacion que abra las ventanas dentro de un pagecontrol o tabs, asi como los navegadores de hoy en dia.

alguien sabe de algun codigo o componente que haga esto de la manera mas sencilla posible?

muchas gracias por su apoyo.
Hola marcoev,
No he probado crear forms dentro de un PageControl y hacer que actúe como los Tabs de los navegadores. Creo que no es posible.

Lo que si puede hacerse es emplear Frames. Éstos son parecidos a los Forms, y puede crearse, eliminarse, y demás. Puedes diseñar tus Frames y adosarlos a un PageControl y de este modo conseguir los Tabs.

Sería muy útil que nos describieras mejor lo que deseas hacer. De este modo sabremos como ayudarte y tal vez ofrecerte alternativas; y en caso de ser posible, indicarte la solución.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 05-09-2008
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
muchas gracias por tu respuesta, de hecho es precisamente lo que estaba pensando hacer, crear frames, aunque no tengo mucha experiencia que digamos con este componente, solo los he usado para cosas muy sencillas.

lo que quiero poder hacer es que al dar clic en alguna opcion del menu se cree este tab junto con el frame deseado, cual seria el codigo en este caso? estoy utilizando un componente que se llama TAdvOfficePager el cual es como un TPageControl (Lo uso solo porque es mas estetico).

solo como mas informacion, mi aplicacion es para el manejo de bases de datos, especificamente para control de almacen, y quiero que esta sea muy atractiva desde el punto de vista visual, el menu principal sera del estilo de los paquetes de MS Office 2007 (Ya tengo esos componentes) pero quiero que las ventanas que se abran no sean como los MDI normales, pues no me gusta el efecto que logran cuando se abren y maximizan, y me gustaria que estas estubieran dentro de TABS para poder ver las ventanas abiertas, y que cuando estas sean cerradas, pues el tab desaparezca, siempre tienendo un TAB de inicio abierto, el cual mostrara informacion importante... ese es ps un pequeño analisis del diseño que busco
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #4  
Antiguo 05-09-2008
Gabriel Gabriel is offline
Miembro
 
Registrado: may 2003
Ubicación: PalauTordera
Posts: 115
Poder: 21
Gabriel Va por buen camino
Prueba haber esto....

Código:
 try
  Screen.Cursor := crAppStart;
  if not Assigned(FPersonal) then
  begin
   FPersonalDM := TFPersonalDM.Create(Application);
   FPersonal := TFPersonal.Create(Application, TabPersonal);
  end;
  PageControl1.ActivePage := TabPersonal; // TabSet per Personal en formulari principal
  FPersonal.Show;
  Application.ProcessMessages;
 Finally
  Screen.Cursor := crDefault;
 end;
saludos
__________________
Gabriel
Responder Con Cita
  #5  
Antiguo 05-09-2008
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
gracias por tu sugerencia, pero de hecho ya estoy viendo la asignacion de frames a tabs en tiempo de ejecucion, y ya lo asigna tal y como queria, el problema esta en que no quiero que se creen varios tabs para una misma opcion, osea que solo cree uno y que si este ya esta creado que se cambie a ese TAB, pero no encuentro la opcion (todavia) para buscar el tab en cuestion y mostrarlo. alguna sugerencia?
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #6  
Antiguo 05-09-2008
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
Bueno pues tambien ya encontre la solucion a ese problema a continuacion pongo el codigo por si a alguien mas le interesa.

Código Delphi [-]
var
  pAlmacen:TAdvOfficePage;
  frmAlmacen:TfrmAlmacenes;
...
//pControl es el PageControl 

  if pControl.IndexOfPage(pAlmacen) < 0 then begin
    pAlmacen:=TAdvOfficePage.Create(Self);
    pAlmacen.AdvOfficePager:=pControl;
    pAlmacen.Caption:='Almacenes';
    frmAlmacen:=TfrmAlmacenes.Create(pAlmacen); //Este es el frame a asignar
    TControl(frmAlmacen).Parent:=pAlmacen;
    frmAlmacen.Align:=alClient;
    pControl.ActivePage:=pAlmacen;
  end
  else
    pControl.ActivePage:=pAlmacen;

ahora estoy con otro problema, estos tabs cuentan con su propio boton para cerrar y al cerrarse se liberan de memoria, el detalle esta en que yo quiero poner un boton dentro del frame el cual el usuario cuando de clic cierre el TAB que esta conteniendo el frame y lo libere. alguna sugerencia?
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
Responder Con Cita
  #7  
Antiguo 05-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Solo tienes que hacer (tomando en cuenta que el botón se encuentra dentro del Frame):

Código Delphi [-]
procedure TfrmAlmacen.BtnCloseClick(Sender: TObject);
begin
  Self.Parent.Free
end;

recuerda que el parent del frame es un Tab de tu PageControl...



Saludos...
Responder Con Cita
  #8  
Antiguo 05-09-2008
marcoev marcoev is offline
Miembro
 
Registrado: may 2003
Ubicación: Nogales, Sonora, Mex.
Posts: 57
Poder: 22
marcoev Va por buen camino
Gracias por responder, pero no me funciona, me marca un error, este es el codigo que tengo.
Código Delphi [-]
procedure TfrmAlmacenes.btnSalirClick(Sender: TObject);
begin
  Self.Parent.Free;
end;
el mensaje de error es el siguiente:
Cita:
Access violation at address 0042176E in module 'MAlmacen.exe'. Read of address 00000008
alguna sugerencia?
__________________
saludos a todos y gracias por compartir sus conocimientos y experiencias... ;-)
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
Archivos .D . D01 . DIR .I .T ¿como los puedo abrir? Delphitest Tablas planas 4 28-01-2008 22:27:55
como puedo asociar un form a otro form? jasz OOP 1 28-11-2007 00:12:09
Como puedo abrir un PDF desde mi Delphi Shenex Varios 4 26-10-2006 20:43:34
COMO PUEDO ABRIR UN ARCHIBO . DEF Y MODIFICARLO 0 codigo fuente de mcw atoms_eli Varios 0 19-05-2005 16:24:30
Abrir un Form tantas veces como desee jorodgar Servers 3 20-04-2005 09:07:43


La franja horaria es GMT +2. Ahora son las 23:12:26.


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