Ver Mensaje Individual
  #6  
Antiguo 17-08-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
Prueba con esta variación al evento AllButtonClick anterior:

Código Delphi [-]
procedure TMDIForm.AllButtonClick(Sender: TObject);
var
  NewMDIForm: TForm;

begin
  if Self.ActiveMDIChild is MDIChildrenClass[TButton(Sender).Tag] then
  begin
    if ActiveMDIChild.WindowsState = wsMinimized then
      ActiveMDIChild.WindowsState = wsNormal
  end
  else
  begin
    Self.ActiveMDIChild.Close
    NewMDIForm := MDIChildrenClass[TButton(Sender).Tag].Create(Application)
  end
end;

Aquí lo que se hace es que si la clase de la forma que está abierta es la misma de la que quieres abrir, solamente restaura la forma si esta se encuentra minimizada. Si es diferente, entonces realiza el código de cerrar la activa y crear la nueva.

Saludos...
Responder Con Cita