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 23-03-2007
Avatar de LordRF
LordRF LordRF is offline
Miembro
 
Registrado: feb 2007
Posts: 71
Poder: 18
LordRF Va por buen camino
TcxTabSheet y cerrar

Hola a todos,

tengo un pequenno problemilla, estoy experimentando para ensennar las forms en Tabsheet, creo el Tabsheet le meto un form hasta hay bien.

Bueno ahora quiero cerrar ese tabsheet, como lo hago para que primero me cierre la form antes de cerrar el tab?

espero que se entienda lo que quiero decir.

p.s utilizo el Pagecontroll de devexpress

Código Delphi [-]
procedure TForm1.Button6Click(Sender: TObject);
var
  MyTabSheet: TcxTabSheet;
  newFormClass: TFormClass;
  newForm:      TForm;
begin
  MyTabSheet := TcxTabSheet.Create(Form1);
  MyTabSheet.Parent := cxPageControl1;
  MytabSheet.PageControl := cxPageControl1;
  MytabSheet.Caption := 'Test';

  newFormClass := TForm2;
    if Assigned(newFormClass) then
    begin
      newForm := newFormClass.Create(self);
      newForm.BorderStyle := bsNone;
      newForm.Parent := cxTabSheet2;
      newForm.Align := alClient;
      newForm.Show;
    end;
end;

gracias y un saludo
Robert
Responder Con Cita
  #2  
Antiguo 23-03-2007
[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
Puedes probar el evento OnCanClose de TcxPageControl

Código Delphi [-]
TcxPCCanCloseEvent = procedure(Sender: TObject; var ACanClose: Boolean) of object;

Este evento se dispara cada que haces click en el botón cerrar del TcxPageControl...

Entonces podrías tener algo como:

Código Delphi [-]
procedure Form1.cxPageControl1OnCanClose(Sender: TObject; var ACanClose: Boolean);
var
  ATabSheet: TcxTabSheet;
  I: Integer;

begin
  ATabSheet := cxPageControl1.ActivePage;
  for I := 1 to ATabSheet.ControlCount - 1 do
    if ATabSheet.Controls[i] is TForm then
    begin
      TForm(ATabSheet.Controls[i]).Free;
      ACanClose := True;
      Break
    end
end;

Espero te sirva...



Saludos...
Responder Con Cita
  #3  
Antiguo 23-03-2007
Avatar de LordRF
LordRF LordRF is offline
Miembro
 
Registrado: feb 2007
Posts: 71
Poder: 18
LordRF Va por buen camino
Hola maeyanes,

gracias por tu util respuesta, funciona perfectamente, lo unico es que no se me dispara el CloseQuery de la forma que se esta cerrando, hay alguna forma de que se dispare?

gracias y un saludo.
Responder Con Cita
  #4  
Antiguo 23-03-2007
Avatar de LordRF
LordRF LordRF is offline
Miembro
 
Registrado: feb 2007
Posts: 71
Poder: 18
LordRF Va por buen camino
Hola,

me parece que tengo la solucion

Código Delphi [-]
procedure TForm1.cxPageControl1CanClose(Sender: TObject;
  var ACanClose: Boolean);
  var
  ATabSheet: TcxTabSheet;
  I: Integer;

begin
  ATabSheet := cxPageControl1.ActivePage;
 for I := 0 to ATabSheet.ControlCount -1 do
    if ATabSheet.Controls[i] is TForm then
    begin
      TForm(ATabSheet.Controls[i]).close;
      ACanClose := True;
      Break
    end
end;

gracias y un saludo
Robert
Responder Con Cita
  #5  
Antiguo 23-03-2007
[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
Así es... con el close haces que se dispare el OnCloseQuery de la forma en cuestión...


Saludos...
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 cerrar Max_E. Varios 3 06-03-2007 17:01:57
Cerrar conexión al cerrar formulario arantzal Conexión con bases de datos 5 09-08-2006 12:43:52
cerrar aplicacion unko! Varios 9 07-07-2006 13:51:42
cerrar automáticamente emiliu Varios 5 27-11-2005 16:37:12
Cerrar recursos en LAN gesko Varios 4 19-07-2004 18:28:09


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


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