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-06-2005
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 20
amadis Va por buen camino
Question Cerrar MDI Childs aleatoriamente

Cerrar MDI Childs aleatoriamente (segun se quiera)

Que tal amigos... nuevamente Yo, el COlonense!

esta vez tengo serios problemas tratando de cerrar una MDICHILD en delphi que no esté activa.

O bien como hago para hacer activa una ventana ya creada ! ya que de estarlo usaría ActiveMDIChild.

Otra mas. como hago para referirme a una ventana sin ser por su NUMERO ??
¿puedo saber de alguna forma si esta activo formNN ?? Sin usar variables
puestas a mano como estoy haciendo jiji y hacer lo que se me antoje con una MDIchild sin tenerla activa

Si alguien tiene algo sobre manejo de MDI's se lo agradecería.

Necesito interactuar y cambiar entre ventanas hijas , abrir, cerrar, activar una, activar otra, volver a una anterior etc.

Y me estoy volviendo loco!
Sobretodo para cerrarlas... la unica forma que me funciona es ActiveMDIChild.close

Muchas Gracias

Amadís - Colón, Entre Ríos
Responder Con Cita
  #2  
Antiguo 07-06-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por amadis
Que tal amigos... nuevamente Yo, el COlonense!
Pues hola, no tenia el gusto de conocerte, pero soy yo, el Guatemalteco..

Cita:
Empezado por amadis
esta vez tengo serios problemas tratando de cerrar una MDICHILD en delphi que no esté activa.
específicamente, ¿que problemas?

Cita:
Empezado por amadis
O bien como hago para hacer activa una ventana ya creada ! ya que de estarlo usaría ActiveMDIChild.
Código Delphi [-]
  if Formx.State = wsMinimized Then
    Formx.State := wsNormal;
  Formx.BringToFront;

Cita:
Empezado por amadis
como hago para referirme a una ventana sin ser por su NUMERO ??
¿por cuál número?

Cita:
Empezado por amadis
¿puedo saber de alguna forma si esta activo formNN ??
Código Delphi [-]
if FormNN.Active Then
  ShowMessage('FormNN está activo!');
Cita:
Empezado por amadis
Sin usar variables
esta si no la entendí...

Cita:
Empezado por amadis
hacer lo que se me antoje con una MDIchild sin tenerla activa
Podes invocar al método hacerloquesemeantoje independientemente de que la instancia de la forma esté activa o no...
Código Delphi [-]
  Form1.HacerLoQueSeMeAntoje;

Hasta luego.



pd. Si mis respuestas no son acertadas, antes de replicar te recomiendo leer el hilo de la calidad de las preguntas.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 07-06-2005
jcarlos.matrix jcarlos.matrix is offline
Miembro
 
Registrado: may 2005
Ubicación: ensenada b.c.
Posts: 18
Poder: 0
jcarlos.matrix Va por buen camino
Post

haber si puedo ayudarte

1.-yo para cerrar una ventana mdi.
me voy al evento close de la forma y pongo esta linea de codigo para cerrarla "action:=cafree" y me funciona para cerrarla.

2.-para activarla pones la unidad de la forma en los uses y pones esta linea siguiente, que lo mas indicado seria crearla de esta manera
"Tform_mdiN.create(application);"

3.- para que no aparesca cuando entres en la unidad principal , vete a los menus de delphi como project->view source y borrar la liena que le corresponde a la unidad formcreate para que no la cree;

4.- ahora para cambiar datos o accesar a informacion de una mdi. lo que tienes que hacer
es para empezar sabemos que debes de mdiform y una mdichild correcto.

entonces los iguiente para accesar es .seria

(fForm_mdiformN.MDIChildren as Tform_mdichildN).label1.caption;
pero para esto deben de estar las unidades de la forma principal y de la que queeres accesar.

espero haberte ayudado en algo.
bye
__________________
Se un buen lector y que la fuerza te acompañe
Responder Con Cita
  #4  
Antiguo 07-06-2005
jcarlos.matrix jcarlos.matrix is offline
Miembro
 
Registrado: may 2005
Ubicación: ensenada b.c.
Posts: 18
Poder: 0
jcarlos.matrix Va por buen camino
Post

correcion en punto 4
la linea donde dices (form.midicount nose que as Tformmidi).label1.caption:=dato;

es asi
corecfto bye
__________________
Se un buen lector y que la fuerza te acompañe
Responder Con Cita
  #5  
Antiguo 07-06-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
A mi tambien me ha dejado un poco perplejo este hilo, ya que las preguntas son bastante escuetas.

en principio tienes la colección Forma_Mdi.MdiChildrens que puedes recorrerlo a placer y ver que ventanas estan creadas, a partir de ahí puedes hacer algo así:
Código Delphi [-]
if Forma_Mdi.MdiChildrens[i] is TfrmClientes then
begin
  Tfrmclientes(Forma_Mdi.MdiChildrens[i]).Lo que sea
end
Código Delphi [-]
function AlFrente(NombreVentana:string):Boolean;
var i:integer;
    hecho:Boolean;
beginÇ
  for i:=0 to MDI.count -1 do 
  if Tform(MDI.MdiChildren[i]).Name = NombreVentana then
  begin
   Tform(MDI.MdiChildren[i]).BringtoFront;
   result := true;
   break;
 end
 else
   result := false;

Es algo así lo que pides?

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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 22:41:05.


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