FoxPro/Visual FoxPro - Formulario Abierto

 
Vista:

Formulario Abierto

Publicado por Ruben Antunes (46 intervenciones) el 07/08/2006 17:28:54
Existe alguna funcion que me permita saber si un formulario "En nivel superior" esta ya abierto dentro de uno "En Nivel Superior". Yo tengo la siguiente rutina, pero solo me lo acepta si los formularios en su totalidad son Formulario en Nivel Superior.

LParameters cCaption
LOCAL nHWD
DECLARE INTEGER FindWindow IN WIN32API STRING cNULL, STRING cWinName
DECLARE SetForegroundWindow IN WIN32API INTEGER nHandle
DECLARE SetActiveWindow IN WIN32API INTEGER nHandle
DECLARE ShowWindow IN WIN32API INTEGER nHandle, INTEGER nState
nHWD = FindWindow(0, cCaption)
IF nHWD > 0
* VENTANA YA ACTIVA
* LA "LLAMAMOS":
ShowWindow(nHWD,9)

* LA PONEMOS ENCIMA
SetForegroundWindow(nHWD)

* LA ACTIVAMOS
SetActiveWindow(nHWD)
RETURN .T.
ELSE
* VENTANA NO ACTIVA
RETURN .F.
ENDIF
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:Formulario Abierto

Publicado por Plinio (7841 intervenciones) el 08/08/2006 01:44:45
Te refieres que a que esos formularios en la propiedad ShowWIndow tienen el valor de 1

Aunque no lo creas todas esas ventanas estan dentro del _screen. Pon un boton en tu ventana principal con el siguiente codigo. Trata de que cada ventana tenga un nombre distinto

FOR i= 1 TO _Screen.FormCount
WAIT WINDOW _Screen.Forms(i).name

ENDFOR
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