Ver la Versión Completa : Cambiar foco de formulario
jollodel
02-08-2004, 09:46:42
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 :D
jachguate
02-08-2004, 09:56:59
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.
;)
jollodel
02-08-2004, 10:07:17
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) ;)
ruina
02-08-2004, 10:39:37
en el formulario padre (en el sentido mdi de la palabra) de ambos formularios pon este codigo:
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 :)
jachguate
02-08-2004, 18:01:01
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.
;)
roman
02-08-2004, 18:16:12
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
marto
02-08-2004, 18:59:33
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 ;)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.