FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cerrar archivo de Ayuda
Posts: 195
Joined: Fri Jan 23, 2009 02:50 AM
Cerrar archivo de Ayuda
Posted: Tue Jun 09, 2009 11:46 AM

Antonio un saludo cordial para ti al igual para la gente del foro

Desde la aplicación se usan los archivos de ayuda html.
La pregunta es como cierro el archivo html de ayuda justo cuando cierro la aplicación?

Gracias

Jairo

Posts: 195
Joined: Fri Jan 23, 2009 02:50 AM
Re: Cerrar archivo de Ayuda
Posted: Fri Jun 12, 2009 03:08 AM

Problema resuelto

Con la clase Twcaptur y un código muy censillo no solo se puede cerrar cualquier aplicación, también se puede manipular la ventana muy fácil, dejo el exe de muestra, la clase y el código por si algún colega lo pudiera necesitar

http://rapidshare.com/files/243581113/Cerrar.rar.html

Cordialmente
Jairo Barbosa
Dios Bendiga Vuestros Caminos

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cerrar archivo de Ayuda
Posted: Fri Jun 12, 2009 06:25 AM
Jairo,

Gracias. Copio aqui el contenido del fichero para que no se pierda :-)

demo02.prg
Code (fw): Select all Collapse
//----------------------------------------------------------------------------//
// TWCapture by Manu Exposito
// Demo02 de la clase TWCapture
//----------------------------------------------------------------------------//

#define CRLF chr( 13 ) + chr( 10 )

function Main()

    local oWnd := TWCapture():New()
    local cTitle := space( 40 )

    oWnd:WCapture( "demo02 - bloc de notas" )

    if !oWnd:lCaptured      // Si no esta la ventana la ejecutamos nosotros
        WinExec( "NotePad.exe demo02.prg" )
        oWnd:WCapture( "demo02 - bloc de notas" )  // y la capturamos
    endif

    Jugar( oWnd )

return nil

//----------------------------------------------------------------------------//

static function Jugar( oWnd )

        local cTitle := oWnd:cTitle

        if oWnd:lCaptured

            MsgAlert( "Muy bien, ya lo tenemos" + CRLF + ;
                      "Hemos capturado la ventana con titulo: " + cTitle + ;
                      CRLF + "Ahora vamos a jugar con ella" )

            MsgInfo( "La centramos" )
            oWnd:Center()

            MsgInfo( "Pinto una linea" )
            oWnd:Line( 0, 0, 500, 500 )

            MsgInfo( "La desplazo arriba a la izquierda" )
            oWnd:Move( 0, 0 )

            MsgInfo( "Ahora minimizo" )
            oWnd:Minimize()

            MsgInfo( "Ahora maximizo" )
            oWnd:Maximize()

            MsgInfo( "La restauro" )
            oWnd:Restore()

            MsgInfo( "Ahora cambio titulo" )
            oWnd:SetText( "TWCapture captura ventanas - by Manu Exposito 2001" )

            MsgInfo( "Ahora la oculto" )
            oWnd:Hide()

            MsgInfo( "Ahora la muestro" )
            oWnd:Show()

            MsgInfo( "y ahora termino" )
            oWnd:End()

        else

            MsgStop( "No se pudo capturar ninguna ventana" )
            oWnd := nil

        endif

return( nil )

//----------------------------------------------------------------------------//


demo02.rc
Code (fw): Select all Collapse
/*                                                                                                                                
captura.rc                                                                                                                        
Generado con VERCE v5.3                                                                                                           
*/                                                                                                                                
                                                                                                                                  
1 ICON "C:\ARCHIV~1\VERCE53\BMPS\verce.ico"                                                                                       
                                                                                                                                  
DLG_PRUEBAS DIALOG 6, 15, 207, 111                                                                                                
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU                                                             
CAPTION "VERCE pruebas"                                                                                                           
FONT 8, "MS Sans Serif"                                                                                                           
{                                                                                                                                 
 PUSHBUTTON "&Aceptar", 201, 40, 32, 101, 28                                                                                      
}


TWCaptur.prg
Code (fw): Select all Collapse
//----------------------------------------------------------------------------//
//  AUTOR.....: Manuel Exp¢sito Su rez    Soft 4U '2001                       //
//  e-Mail....: <!-- e --><a href="mailto:maex14@dipusevilla.es">maex14@dipusevilla.es</a><!-- e -->                                         //
//  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.                              //
//----------------------------------------------------------------------------//
//  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                                        //
//----------------------------------------------------------------------------//

#include "Objects.ch"

//----------------------------------------------------------------------------//

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 )

//----------------------------------------------------------------------------//
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 195
Joined: Fri Jan 23, 2009 02:50 AM
Re: Cerrar archivo de Ayuda
Posted: Fri Jun 12, 2009 10:56 AM

Antonio Buendía

Es un gusto poder colaborar, gracias también a Mario González quien me facilito la clase

Antonio dos cosas

  1. Tuve la intención de subir el código como tu lo hiciste pero no se como se hace para que quede la sintaxis de color.
  2. Como quito la “X” que cierra una Windows, o como la deshabilito.

Estuve revisando en el foro pero no encontré nada entendible para mí.

Cordialmente

Jairo Barbosa

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cerrar archivo de Ayuda
Posted: Fri Jun 12, 2009 11:42 AM

Jairo,

> 1. Tuve la intención de subir el código como tu lo hiciste pero no se como se hace para que quede la sintaxis de color.

Usa [ c o d e ] y [ / c o d e ], sin los espacios, y pones el código entre ellos.

> 2. Como quito la “X” que cierra una Windows, o como la deshabilito.

Puedes usar una variable lógica lSalir := .F. y usar el VALID:

ACTIVATE WINDOW oWnd VALID lSalir

solo saldrá cuando cambies el valor de lSalir a .T.

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion