Cerrar ventana de ayuda

Cerrar ventana de ayuda

Postby RodolfoRBG » Tue Jun 19, 2012 7:55 pm

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?
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cerrar ventana de ayuda

Postby Jairo Barbosa » Wed Jun 20, 2012 2:05 am

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())

Code: Select all  Expand view
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 )


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
User avatar
Jairo Barbosa
 
Posts: 194
Joined: Fri Jan 23, 2009 2:50 am
Location: Cali Valle Colombia

Re: Cerrar ventana de ayuda

Postby Jairo Barbosa » Fri Jun 22, 2012 2:22 am

Rodolfo no reportaste si pudiste hacer la implementacion

Mire este link, http://forums.fivetechsupport.com/viewtopic.php?f=6&t=15842&p=82158&hilit=twcaptur#p82158

también tengo un pequeño ejemplo funcionando por si te interesa

Un Abrazo

Jairo Barbosa
User avatar
Jairo Barbosa
 
Posts: 194
Joined: Fri Jan 23, 2009 2:50 am
Location: Cali Valle Colombia

Re: Cerrar ventana de ayuda

Postby RodolfoRBG » Wed Jul 18, 2012 1:07 am

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.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cerrar ventana de ayuda

Postby MGA » Thu Jul 19, 2012 4:28 pm

Sr Jairo,

poderia fornecer o exemplo mencionado?

ubiratan@sgsistemas.com.br

muito obrigado
ubiratanmga@gmail.com

FWH18.02
FWPPC
Harbour/xHarbour
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1234
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Re: Cerrar ventana de ayuda

Postby RodolfoRBG » Thu Jul 19, 2012 10:14 pm

Aqui te va como yo lo uso:

Code: Select all  Expand view
//=============================================================================
//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)
 


TWCapture.prg
Code: Select all  Expand view

#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)
 


Salu2
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cerrar ventana de ayuda

Postby Lailton » Fri Jul 20, 2012 9:24 pm

More easy:
Code: Select all  Expand view
If((hWnd:=FindWindow(,"cTitleOfWnd"))!=0,CloseWindow(hWnd),)

Or:
Code: Select all  Expand view
CerrarVentana("cTitleOfWnd")
Function CerrarVentana(cTitle)
Return If((hWnd:=FindWindow(,cTitle))!=0,CloseWindow(hWnd),)

8)
Regards,
Lailton Fernando Mariano
User avatar
Lailton
 
Posts: 125
Joined: Fri Jul 20, 2012 1:49 am
Location: Brazil

Re: Cerrar ventana de ayuda

Postby RodolfoRBG » Fri Jul 20, 2012 9:26 pm

Lailton,

Excelente!!! Muchas gracias.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cerrar ventana de ayuda

Postby RodolfoRBG » Tue Jul 24, 2012 2:22 am

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.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cerrar ventana de ayuda

Postby Jairo Barbosa » Tue Jul 24, 2012 5:39 pm

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
User avatar
Jairo Barbosa
 
Posts: 194
Joined: Fri Jan 23, 2009 2:50 am
Location: Cali Valle Colombia

Re: Cerrar ventana de ayuda

Postby RodolfoRBG » Tue Jul 24, 2012 7:12 pm

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
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cerrar ventana de ayuda

Postby Lailton » Tue Jul 31, 2012 7:40 pm

Hola Rodolfo y Jairo,

probar asi:
Code: Select all  Expand view
#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.
Regards,
Lailton Fernando Mariano
User avatar
Lailton
 
Posts: 125
Joined: Fri Jul 20, 2012 1:49 am
Location: Brazil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 77 guests