Cerrar ventana de ayuda
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Cerrar ventana de ayuda
Con la funcion HelpTopic("Clave del tema") abro la ventana de ayuda posicionado en el tema que deseo, ahora bien, como cierro esa ventana desde el sistema que la llamo?
- Jairo Barbosa
- Posts: 188
- Joined: Fri Jan 23, 2009 2:50 am
- Location: Cali Valle Colombia
- Contact:
Re: Cerrar ventana de ayuda
Rodolfo Buenas noches
Es muy Fácil lo que necesitas, funciona perfectamente
En un botón, bien sea el de salir o el que tu elijas según el diseño que estés manejando
Por Ejemplo:...............
REDEFINE BUTTON ID 4003 OF oDlg1 ACTION (oDlg:End(),CerrarAyudas())
Anexando desde luego la clase TWcaptur.prg.
Como uno mas de tus PRGs
Si no la tienes por favor me lo haces saber.
Un Abrazo
Cordialmente
Jairo Barbosa
Es muy Fácil lo que necesitas, funciona perfectamente
En un botón, bien sea el de salir o el que tu elijas según el diseño que estés manejando
Por Ejemplo:...............
REDEFINE BUTTON ID 4003 OF oDlg1 ACTION (oDlg:End(),CerrarAyudas())
Code: Select all
function CerrarAyudas()
local oWnd
local cTitles := "Aquí colocas el titulo de la ventana de ayudas"
if !empty(cTitles )
oWnd := TWCapture():New( AllTrim( cTitles ) )
Jugar(oWnd)
endIF
return nil
*-----------------------------------------------------------//
static function Jugar(oWnd )
cTitle := oWnd:cTitle
if oWnd:lCaptured
oWnd:End()
endif
return( nil )
Como uno mas de tus PRGs
Si no la tienes por favor me lo haces saber.
Un Abrazo
Cordialmente
Jairo Barbosa
- Jairo Barbosa
- Posts: 188
- Joined: Fri Jan 23, 2009 2:50 am
- Location: Cali Valle Colombia
- Contact:
Re: Cerrar ventana de ayuda
Rodolfo no reportaste si pudiste hacer la implementacion
Mire este link, http://forums.fivetechsupport.com/viewt ... tur#p82158
también tengo un pequeño ejemplo funcionando por si te interesa
Un Abrazo
Jairo Barbosa
Mire este link, http://forums.fivetechsupport.com/viewt ... tur#p82158
también tengo un pequeño ejemplo funcionando por si te interesa
Un Abrazo
Jairo Barbosa
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Re: Cerrar ventana de ayuda
Mi estimado Jairo,
No habia probado tu sugerencia debido a que me ocupe en otros temas, pero finalmente lo probe y funciono de maravilla, ya vi incluso que una vez capturada la ventana no solo la puedo cerrar sino tambien manipularla para otros fines.
Mil gracias por tu ayuda.
No habia probado tu sugerencia debido a que me ocupe en otros temas, pero finalmente lo probe y funciono de maravilla, ya vi incluso que una vez capturada la ventana no solo la puedo cerrar sino tambien manipularla para otros fines.
Mil gracias por tu ayuda.
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Re: Cerrar ventana de ayuda
Aqui te va como yo lo uso:
TWCapture.prg
Salu2
Code: Select all
//=============================================================================
//Cierra ventana exterior
FUNCTION PN_CieVenExt(Titulo)
LOCAL oWndAC
oWndAC:=TWCapture():New(AllTrim(Titulo)) //Toma objeto de la ventana a cerrar segun su titulo
IF oWndAC:lCaptured ; oWndAC:End() ; ENDIF //Si esta abierta, la cierra
RETURN(NIL)
Code: Select all
#include "Objects.ch"
//============================================================================//
//TWCapture
//----------------------------------------------------------------------------//
// AUTOR.....: Manuel Exp½sito Su rez Soft 4U '2001 //
// e-Mail....: maex14@dipusevilla.es //
// CLASE.....: TWCapture //
// FECHA MOD.: 18/08/2001 //
// VERSION...: 1.00 //
// PROPOSITO.: Captura una ventana abierta por nuestro programa o por otra //
// aplicacion para poder enviarle mensajes como si fuera una //
// ventana mas de nuestro programa. //
// Uso.......: Cerrar ventana de ayuda //
//----------------------------------------------------------------------------//
// DATAS.....: * lCapture tiene un valor logico, .f. si la ventana no se //
// pudo capturar y .t. si si se hizo //
// //
// METODOS...: * New( cTitle ) es el constructor, cTitle es el titulo de una //
// ventana, si se le pasa intentara capturarla y pondra .t. en //
// ::lCapture //
// * WCapture se encarga de buscar la ventana y asignarla a //
// nuestro objeto TWindow. Si la captura podremos interactuar //
// como si fuera una ventana mas de nuestra aplicacion //
// //
// NOTAS.....: TWCapture esta heredada de TWindows por lo que tendremos a //
// nuestra disposicion todas las datas y metodos de esta clase. //
// No distingue entre mayusculas y minuscula pero si se tienen //
// en cuenta los espacios //
//----------------------------------------------------------------------------//
CLASS TWCapture FROM TWindow
DATA lCaptured AS LOGICAL
METHOD New( cTitle ) CONSTRUCTOR
METHOD WCapture( cTitle )
ENDCLASS
//----------------------------------------------------------------------------//
METHOD New( cTitle ) CLASS TWCapture
if( ValType( cTitle ) == "C", ::WCapture( cTitle ), ::lCaptured := .f. )
return( Self )
//----------------------------------------------------------------------------//
METHOD WCapture( cTitle ) CLASS TWCapture
local hWnd := FindWindow( 0, cTitle )
::lCaptured := ( hWnd > 0 )
::hWnd := if( ::lCaptured, hWnd, 0 )
return(::lCaptured)
Re: Cerrar ventana de ayuda
More easy:
Or:
Code: Select all
If((hWnd:=FindWindow(,"cTitleOfWnd"))!=0,CloseWindow(hWnd),)
Code: Select all
CerrarVentana("cTitleOfWnd")
Function CerrarVentana(cTitle)
Return If((hWnd:=FindWindow(,cTitle))!=0,CloseWindow(hWnd),)
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Re: Cerrar ventana de ayuda
Lailton,
Excelente!!! Muchas gracias.
Excelente!!! Muchas gracias.
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Re: Cerrar ventana de ayuda
Hola Lailton,
Fijate que despues me di cuenta que tu sugerencia no cierra realmente la ventana de ayuda, solo la minimiza, mientras que TWCapture si la cierra.
Fijate que despues me di cuenta que tu sugerencia no cierra realmente la ventana de ayuda, solo la minimiza, mientras que TWCapture si la cierra.
- Jairo Barbosa
- Posts: 188
- Joined: Fri Jan 23, 2009 2:50 am
- Location: Cali Valle Colombia
- Contact:
Re: Cerrar ventana de ayuda
Rodolfo
Sobretodo que puedes construir la aplicación de tal manera que cierre las ayudas en el momento que tu consideres,
Bien sea al abrir la siguiente ventana de ayuda que cierre la anterior al finalizar la aplicación cierra todas las
ventanas de ayuda o aplicaciones que tenga abiertas.
Un Abrazo Rodolfo y Laiton
Sobretodo que puedes construir la aplicación de tal manera que cierre las ayudas en el momento que tu consideres,
Bien sea al abrir la siguiente ventana de ayuda que cierre la anterior al finalizar la aplicación cierra todas las
ventanas de ayuda o aplicaciones que tenga abiertas.
Un Abrazo Rodolfo y Laiton
- RodolfoRBG
- Posts: 253
- Joined: Tue May 16, 2006 4:46 pm
- Location: San Luis Potosi, SLP, Mexico
- Contact:
Re: Cerrar ventana de ayuda
En efecto Jairo, esa era la idea, aunque habia notado que al cerrar la aplicacion automaticamente cierra las ventanas de ayuda, por eso pense que sin necesidad de agregar la clase TWCapture existia alguna instruccion ya preestablecida para hacerlo pero no la encontre, asi que tu sugerencia es la que estoy usando.
Gracias de nuevo y Salu2
Gracias de nuevo y Salu2
Re: Cerrar ventana de ayuda
Hola Rodolfo y Jairo,
probar asi:
probar asi:
Code: Select all
#define WM_CLOSE 0x0010
Function CerrarVentana(cTitle)
Local hWnd
If(hWnd:=FindWindow(,cTitle))!=0
PostMessage(hWnd,WM_CLOSE)
EndIf
Return Nil
RodolfoRBG wrote:Hola Lailton,
Fijate que despues me di cuenta que tu sugerencia no cierra realmente la ventana de ayuda, solo la minimiza, mientras que TWCapture si la cierra.