Buenos días para todos...
Requiero saber si una ventana MDI se encuentra abierta, desconozco si se puede hacer mediante el nombre del objeto? o debe ser con título? y si esta abierta indicarle que tome el foco.
de antemano gracias.
xbrowse(oWnd:oWndclient:aWnd)
STATIC lWinOpen := .T.
FUNCTION Main()
...
RETURN NIL
STATIC lWinOpen := .F.
FUNCTION CHAMADO( oWnd, oContato )
IF lWinOpen = .F.
lWinOpen := .T.
ELSE
? [No puede... ]
lLigaBtnChama := .F.
oContato:Disable()
oContato:Refresh()
lWinOpen := .F.
RETURN NIL
ENDIF
RETURN NIL
Function IsOpen( oWndMdi )
local nAt
local oWnd
if ( nAt := AScan( ::aWnd, { | oW | oW:hWnd == oWndMdi:hWnd } ) ) != 0
oWnd = oWndMdi:aWnd[ nAt ]
endif
Return oWnd
PROCEDURE Artic()
LOCAL hHand, ....
cVentana := PROCNAME()
IF ASCAN(oApp:aVentanas,cVentana) > 0 // Si ya esta abierta, la selecciono y la restauro
hHand := ASCAN(oApp:aVentanas,cVentana)
oApp:oWnd:Select(hHand)
oApp:oWnd:oWndClient:aWnd[hHand]:Restore()
RETURN
ENDIF
AADD(oApp:aVentanas,cVentana) // Sino la guardo en la tabla de ventanas abiertas.
STATIC FUNCTION cerrar ( )
LOCAL aNueva := {}, i, j
j := ASCAN(oApp:aVentanas,cVentana)
FOR i := 1 TO LEN(oApp:aVentanas)
IF i <> j
AADD(aNueva,oApp:aVentanas[i])
ENDIF
NEXT i
oApp:aVentanas := ACLONE(aNueva)
RETURN .t.
********************************************
*BUSCA SI VENTANA ESTA ABIERTA POR EL TITULO
********************************************
Function IsOpen( )
Local nAt
Local aVentanas := oWnd:oWndclient:aWnd //oWnd ventana principal de la aplicación
nAt := AScan(aVentanas,"Clientes")
Return nAt
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 20 guests