Delphi - Intercambio de foco en las ventanas

 
Vista:

Intercambio de foco en las ventanas

Publicado por Mikel (37 intervenciones) el 09/01/2002 12:27:06
Hola:

Estoy haciendo una aplicación que interactua sobre otras y necesito saber como puedo intercambiar el foco de las subventanas de esa aplicación en la que se interactua.

La función que empleo es la siguiente:

function cambia_foco(nombre_ventana:string):string;
begin
h := FindWindow(nil, pchar(nombre_ventana1));
if h <> 0 then setforegroundwindow(h)
else
begin
Showmessage('No se ha localizado la ventana '+nombre_ventana);
halt;
end;
end;

Esta función funciona perfectamente, el problema es que soy incapaz de cambiar el foco de las subventanas de la aplicación en la que se interactua, es decir, la aplicación en la que se interactua dispone de varias subventanas y no es posible commutar el foco entre ellas.

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Intercambio de foco en las ventanas

Publicado por Antonio M. Estévez (24 intervenciones) el 10/01/2002 15:54:10
Puedes utilizar la función del API de Windows EnumChildWindows para buscar la ventana hija y una vez encontrada utiliza la función SetActiveWindow para activarla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar