Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2004
jollodel jollodel is offline
Miembro
 
Registrado: jul 2004
Posts: 22
Poder: 0
jollodel Va por buen camino
Cambiar foco de formulario

Hola

Tengo una aplicación MDI con dos MDIChild abiertos, y claro, el ultimo q he creado tiene el foco. Como puedo hacer para cambiar el foco al otro formulario MDIChild (el primero que cree)??

Graciasss
Responder Con Cita
  #2  
Antiguo 02-08-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Podes llamar al método SetFocus de alguno de sus controles:

Form1.edit1.SetFocus;

también es probable que funcione un:

Form1.SetFocus;

aunque nunca lo he probado.

Hasta luego.

__________________
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 02-08-2004
jollodel jollodel is offline
Miembro
 
Registrado: jul 2004
Posts: 22
Poder: 0
jollodel Va por buen camino
No funciona :-(

Nada, eso no me funciona. Me aparece en pantalla el tipiko mensaje de error de acceso a memoria. Alguna otra idea? Parece una tonteria pero ya llevo unos cuantos dias dandole vueltas al tema!

Gracias de todos modos. (se admiten mas sugerencias)
Responder Con Cita
  #4  
Antiguo 02-08-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
en el formulario padre (en el sentido mdi de la palabra) de ambos formularios pon este codigo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
    for I := 0 to self.MDIChildCount-1 do
      if self.ActiveMDIChild<>MDIChildren[i] then
          self.MDIChildren[i].SetFocus;
end;

no es exacta exactamente lo que quieres pero cre que arrojara un poco luz a tu problema
__________________
todo el mundo debe creer en algo... yo creo que voy a tomarme otra copa.
Responder Con Cita
  #5  
Antiguo 02-08-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Pero esto es lo mismo que yo habia propuesto... lo que puede ocurrir es que el formulario al que estas tratando de asignar el foco no ha sido creado, o ya ha sido destruido.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 02-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Aunque SetFocus puede funcionar, lo usual en un formulario no es usar SetFocus- que se usa más bien para controles que reciben directamente entrada de teclado - sino métodos como BringToFront para activar el formulario.

// Saludos
Responder Con Cita
  #7  
Antiguo 02-08-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
Wop!

Bueno, Roman, BringToFront también es de la clase TControl y, segun la ayuda, sirve para "Puts the control in front of all other controls in its parent control", o sea que tan válido es un método como el otro
__________________
E pur si muove
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 17:11:46.


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