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 06-02-2011
tempto tempto is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 16
Poder: 0
tempto Va por buen camino
Arrow Saber cuándo se crea un form mdi

Buenos días,

Como sabréis, las aplicaciones mdi tienen un comportamiento un poco peculiar en windows, a la hora de maximizar, se maximiza todo lo que se abra después o se abre debajo de la última y queda cortada por la pantalla y cosas así. Mi idea es detectar cuándo un mdi se está creando y darle yo el tamaño, la posición...
He encontrado eventos para detectar que un form se maximiza, minimiza, se mueve, se pulsa en la barra de título... Pero no doy con el evento de creación de un mdi.

¿Alguien se ha encontrado con este problema?
Responder Con Cita
  #2  
Antiguo 06-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola tempto.

El evento que se dispara cuando se está creando es OnCreate del propio MDIChild, pero también podes darle la posición y el tamaño desde la creación en el MDIForm:

Código Delphi [-]
...
uses Unit2;

{ Crear o mostrar Childs }
procedure TForm1.MostrarChild(AFormClass: TFormClass);
var
  i: integer;
begin
  for i:= 0 to MDIChildCount - 1 do  // Buscar si esta creada
   if Screen.Forms[i] is AFormClass then
     with Screen.Forms[i] do
     begin
       if WindowState = wsMinimized then  // Si esta minimizada, estilo normal
          WindowState:= wsNormal;         
       Screen.Forms[i].BringToFront; // Al frente
       Exit;
     end;
  // Crearla, dar valores iniciales
  with AFormClass.Create(Application) do
  begin
    Left:= 1; 
    Top:= 1;
    Height:= 250; 
    Width:= 300;
    Show;
  end;
end;

Ejemplo de llamada:
Código Delphi [-]
...
begin
  MostrarChild(TForm2);
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 06-02-2011 a las 21:34:48.
Responder Con Cita
  #3  
Antiguo 09-02-2011
tempto tempto is offline
Miembro
NULL
 
Registrado: nov 2010
Posts: 16
Poder: 0
tempto Va por buen camino
Gracias, aunque un poco tarde... voy a probar
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
Saber cuando se crea un archivo nuevo en un directorio CHRISTIANHAZ77 API de Windows 10 01-06-2010 14:28:44
Determinar en un Form Principal cuando se Cierra un Form Hijo Efren2006 OOP 5 26-02-2009 20:08:35
Evento cuando se crea un componente sobre el mio delphiladero OOP 1 17-06-2008 12:51:10
Saber cuando un Form hace un Paint José Luis Garcí OOP 13 17-09-2007 21:54:59
Donde y cuando se crea el PDOXUSRS.LCK? elcigarra Conexión con bases de datos 6 03-01-2006 17:07:16


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


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