Página 2 de 2

Utilizando ACTIVEX

Enviado: 24 Jan 2013 10:18
por asimoes
Pessoal,
Estou testando o activex da hwgui e estou gostando dos resultados obtidos.
O exemplo é usando o googlemaps para localizar o endereço no mapa A-B.
Vou compartilhar com vocês os meus testes:

google.hbp

Código: Selecionar todos

# ---------------------------
# Nome do Execut vel
# ---------------------------
-ogoogle
# ---------------------------
# Bibliotecas
# ---------------------------
-lhwgui
-lprocmisc
-lhbactivex
-lhbxml
-lhbct
-lhbgt
-lgtwvg
-lgtwvt
-lhbnf
-lhbwin
-lxhb
-lhbtip
# ---------------------------
# Caminhos dos Includes
# ---------------------------
-incpath=\hbmsvc32\hwgui\include;
# ---------------------------
# Caminho das Libs da HWGui
# ---------------------------
-L\hbmsvc32\hwgui\lib;
# ---------------------------
# Outros Parƒmetros
# ---------------------------
-workdir=.\OBJ\
-gtgui
-head=full
-n
-nowarn
-inc
-b
-mt
# ---------------------------
# Prg(s) e Rc(s)
# ---------------------------
google.prg
procgui.prg
google.rc
google.prg

Código: Selecionar todos

#include "hbcompat.ch"
#include "inkey.ch"
#include "setcurs.ch"
#include "error.ch"
#include "achoice.ch"
#include "fileio.ch"
#include "common.ch"
#include "dbinfo.ch"
#include "hbver.ch"
#include "hbdyn.ch"
#include "wvtwin.ch"
#include "hbgtinfo.ch"
#include "hbgtwvg.ch"
#include "wvgparts.ch"
#include "hbclass.ch"
#include "hbwin.ch"

FUNCTION MAIN(cPara1, cPara2)
LOCAL oGoogle, cWeb

   Cores()
   
   SetColor( "N/W,N/GR*,,,N/W*" )
 
   CLS
        
   cFrom1:= cTo1  := Space( 50 )
   cFrom2:= cTo2  := Space( 50 )
   cFrom3:= cTo3  := Space( 50 )

   cFrom1:="RIO DE JANEIRO"
   cFrom2:="RIO DE JANEIRO"
   cTo1  :="RIO DE JANEIRO"
   cTo2  :="RIO DE JANEIRO"
   
   WHILE .T.
      @ 00,01 SAY "DE :"
      @ 01,01 SAY "Eatado...:" GET cFrom1  PICTURE "@!"
      @ 02,01 SAY "Cidade...:" GET cFrom2  PICTURE "@!"
      @ 03,01 SAY "Endere‡o.:" GET cFrom3  PICTURE "@!"
      @ 04,01 SAY "PARA :"
      @ 05,01 SAY "Estado...:" GET cTo1    PICTURE "@!"
      @ 06,01 SAY "Cidade...:" GET cTo2    PICTURE "@!"
      @ 07,01 SAY "Endere‡o.:" GET cTo3    PICTURE "@!"
      READ

      IF LastKey() == K_ESC
         QUIT
      ENDIF

      cWeb:="http://maps.google.com.br/maps?q=de address "         + ;
             AllTrim( cFrom3 ) + " " + AllTrim( cFrom2 ) + " " + AllTrim( cFrom1 ) + " para address " + ;
             AllTrim( cTo3 )   + " " + AllTrim( cTo2 )   + " " + AllTrim( cTo1 )

      ConsultaGoogleMaps(cWeb)
  
   ENDDO
  
RETURN Nil

INIT FUNCTION AppSetup()
  PUBLIC cTituloJanela
  REQUEST HB_LANG_PT
  REQUEST HB_CODEPAGE_PT850
  HB_LANGSELECT("PT")
  HB_CDPSELECT( "PT850" )
  SETMODE(25,80)
  SET TYPEAHEAD TO 0
  SET INTENSITY ON
  SET SCOREBOARD OFF
  SET DELETED ON
  SET SAFETY OFF
  SET DATE ANSI
  SET ESCAPE ON
  SET CENTURY ON
  SET DELIMITERS TO
  SET EXCLUSIVE OFF
  SET WRAP ON
  SET EPOCH TO 1920
  SET OPTIMIZE ON
  SET AUTOPEN OFF
  SET DBFLOCKSCHEME TO DB_DBFLOCK_CLIP 
  SET MESSAGE TO 24 CENTER

  CLS
     
  IniciaJanela() 

RETURN Nil

FUNCTION IniciaJanela(nLi,nCi,nLf,nCf)
   HB_Default(@nLi,0)
   HB_Default(@nCi,0)
   HB_Default(@nLf,MaxRow())
   HB_Default(@nCf,MaxCol())
   cTituloJanela:="Google Maps"
   HB_gtInfo(HB_GTI_FONTNAME, "Lucida Console")
   HB_gtInfo(HB_GTI_ICONRES, "ICON_GOOGLE" )
   HB_gtInfo(HB_GTI_WINTITLE, cTituloJanela)
   HB_gtInfo(HB_GTI_CLOSABLE, .F. )
   HB_gtInfo(HB_GTI_CLIPBOARDDATA )
   HB_gtInfo(HB_GTI_SELECTCOPY, .T. )
   HB_gtInfo(HB_GTI_MOUSESTATUS, 1 )
   HB_gtInfo(HB_GTI_ISGRAPHIC, .T. )
   HB_gtInfo(HB_GTI_STDERRCON, .T. )
   HB_gtInfo(HB_GTI_COMPATBUFFER, .T. ) 
   HB_gtInfo(HB_GTI_SPEC, HB_GTS_WNDSTATE, HB_GTS_WS_MAXIMIZED )
   HB_gtInfo( HB_GTI_SPEC, HB_GTS_SHOWWINDOW, SW_NORMAL )
RETURN Nil

FUNCTION Cores
LOCAL aPalette:=hb_gtInfo( HB_GTI_PALETTE )

   THREAD STATIC t_nR :=255
   THREAD STATIC t_nG :=255
   THREAD STATIC t_nB :=170
   THREAD STATIC nCor :=8

   aPalette[ 8 ] := RGBX( 211, 237, 250 )
   
   hb_gtInfo( HB_GTI_PALETTE, aPalette )

RETURN Nil

FUNCTION RGBX( r,g,b )
RETURN r + ( g * 256 ) + ( b * 256 * 256 )
   
FUNCTION HB_GTSYS()
   REQUEST HB_GT_WVG_DEFAULT
   REQUEST HB_GT_WVT
   REQUEST HB_GT_WGU
   REQUEST HB_GT_WVG
RETURN Nil 
procgui.prg

Código: Selecionar todos

*----------------------------------------------------------------------------*
*                                                                            *
* Programa____: PROCGUI.PRG (Procedimentos e Fun‡äes Gr ficas (GUI))         *
*                                                                            *
* Linguagem___: Harbour                                                      *
*                                                                            *
* LIB Gr fica_: HWGUI                                                        *
*                                                                            *
* Programador_: Alexandre Simäes                                             *
*                                                                            *
* Data________: 2010/07                                                      *
*----------------------------------------------------------------------------*
* Atualiza‡äes: 2011/08                                                      * 
*----------------------------------------------------------------------------*
* Procedures__:                                                              *
* Fun‡äes_____: Abertura(cArq,nTempo)                                        *
*               MsgIni( cMensagem, cTitulo, nTempo )                         *
*               MsgTroca(cMensagem)                                          *
*               MsgFim(lTime)                                                *
*               XPrintWinPrn(cArq,cPrint)                                    *
*----------------------------------------------------------------------------*
* Objetivo____: Formar um arquivo que contenha todos os precedimentos e      * 
*               fun‡äes gr ficas.                                            *
*                                                                            *
* Observa‡äes_:                                                              *
*                                                                            *
*----------------------------------------------------------------------------*
#include "hwgui.ch"

FUNCTION ConsultaGoogleMaps( cURL )
LOCAL oMainWnd, oIE, oPanelIE
LOCAL oPanelTool, oFont

   INIT DIALOG oDlg TITLE "Consulta Mapa" ;
   ICON HIcon():AddResource("ICON_MAPS")  ;
   AT 0,0 SIZE 1024,768 ;
   FONT HFont():Add( 'Courier New',0,-13,500,,,) CLIPPER  NOEXIT ;
   STYLE DS_CENTER +WS_SYSMENU+WS_VISIBLE ;
   ON INIT {| oDlg | oIE := HHtml():New( oDlg),oIE:DisplayPage(cUrl)}
   
   oDlg:Activate()

RETURN .T.
google.rc - aqui é opcional se não for usar deve remover do hbp

Código: Selecionar todos

1 24 IMG\\WindowsXP.Manifest


ICON_GOOGLE   ICON   IMG\\GOOGLE.ICO
ICON_MAPS     ICON   IMG\\MAPS.ICO