Página 4 de 4

Necesito ayuda con el use de gtwvg

Enviado: 19 Jan 2020 18:59
por Ruben Dario
Saludos
Como le cambio el fondo por un color especifico a WvtDialog

Código: Selecionar todos


          WITH OBJECT ::oCrt :=  WvtDialog():New( 30, 90, "My Dialog Two" )
           :nTooltipWidth     := 300
           :nTooltipTextColor := RGB( 255,0,0 )    
           :Create()
         ENDWITH  


Necesito ayuda con el use de gtwvg

Enviado: 28 Jan 2020 23:00
por Ruben Dario
Saludos

Deacuerdo a tu ejemplo Test.

Estoy aumentado y Botton para grabar. Le estoy asignanco la letra G.
el problema que tengo cuando se le da grabar captura la letra G en el GET como controlo que no le captura y ejecute el botton.

Necesito ayuda con el use de gtwvg

Enviado: 29 Jan 2020 00:39
por JoséQuintas
Ruben Dario escreveu:Estoy aumentado y Botton para grabar. Le estoy asignanco la letra G.
el problema que tengo cuando se le da grabar captura la letra G en el GET como controlo que no le captura y ejecute el botton.

Código: Selecionar todos

#include "inkey.ch"

PROCEDURE Main

   LOCAL a := 10, b := 10, c := 10, d := 10, GetList := {}
   LOCAL cmdWrite, cmdCancel

   SetMode( 40, 100 )
   SetColor( "W/B" )
   CLS
   cmdWrite := wvgPushButton():New()
   WITH OBJECT cmdWrite
      :Caption := "Gravar"
      :Activate := BlockKeyboard( K_CTRL_W )
      :PointerFocus := .F.
      :Create( ,, { -1, -1 }, { -3, -6 } )
   ENDWITH
   cmdCancel := wvgPushButton():New()
   WITH OBJECT cmdCancel
      :Caption := "Cancelar"
      :Activate := BlockKeyboard( K_ESC )
      :PointerFocus := .F.
      :Create( ,, { -1, -7 }, { -3, -6 } )
   ENDWITH

   DO WHILE .T.
      @  5, 1 SAY "Any 1:" GET a
      @  7, 1 SAY "Any 2:" GET b
      @  9, 1 SAY "Any 3:" GET c
      @ 11, 1 SAY "Any 4:" GET d
      READ
      DO CASE
      CASE LastKey() == K_ESC
         @ 15, 1 SAY "END  " COLOR "N/W"
         Inkey(5)
         EXIT
      CASE LastKey() == K_CTRL_W
         @ 15, 1 SAY "WRITE"  COLOR "N/W"
         Inkey(5)
         @ 15, 1
      ENDCASE
   ENDDO

   RETURN

FUNCTION BlockKeyboard( nKey )

   RETURN { || hb_KeyPut( nKey ) }

Necesito ayuda con el use de gtwvg

Enviado: 29 Jan 2020 12:08
por JoséQuintas
Só comentário:

Ao colocar no button pra fazer um Keyboard, no fonte pode continuar como antes.
Pode num tbrowse criar buttons pra fazer K_UP, K_DOWN, K_PGUP, K_PGDN, K_HOME, K_END, K_ESC e usar a mesma rotina de tbrowse pra teclado, apenas adiciona os buttons pra fazer hb_KeyPut().
A vantagem é que vai funcionar por teclado ou por clique de mouse, o usuário usa como quiser.
browse.png

Necesito ayuda con el use de gtwvg

Enviado: 05 Fev 2020 17:38
por Ruben Dario
Saludos
Con base a tu ejemplo test.
como se puede contralar que inicie la pantalla Maximizada.

Necesito ayuda con el use de gtwvg

Enviado: 06 Fev 2020 20:37
por JoséQuintas
Deixo por conta do usuário escolher o tamanho.

Se não me engano usam wvt_Maximize(.t.)

ou hb_gtInfo( HB_GTI_MAXIMIZE, .T. ) ou algo assim ou HB_GT_FULLSCREEN.
No arquivo hbgtinfo.ch vai encontrar os nomes a serem usados.

Necesito ayuda con el use de gtwvg

Enviado: 07 Fev 2020 13:07
por Ruben Dario
Gracias Maestro me Funciono

Necesito ayuda con el use de gtwvg

Enviado: 07 Fev 2020 13:32
por Ruben Dario
Saludos
Te cuento que no he podido resolver que cuando uso WvgCrt(), se sale del sistema.

Este Problema lo tengo con WvgCrt(), cuando uso el WvtDialog() si funciona.
la Idea es que me regrese al menu Principal.

El Problema con WvtDialog() si me funciona, es como controlo que no me limpie la pantalla, quiero que me coloque la ejecucion del WvtDialog() sin limpiar deacuerdo a la imagen

Este es el metodo para salir de la opcion y me deberia retornar al menu principal.

Código: Selecionar todos

Asi uso WvtDialog()
          WITH OBJECT ::oCrt :=  WvtDialog():New(kb1, kb2, ::cSistema, "Courier New", ) 
           :nTooltipWidth     := 300
           :nTooltipTextColor := RGB(  16,  16,  16 )   //RGB( 255,0,0 ) 
           :Create() 
         ENDWITH  

Asi uso WvgCrt()
     WITH OBJECT ::oCrt := WvgCrt():New(,, { ka1,ka2 }, { kb1,kb2 },, .t. ) 
              :lModal     := .T.
              :fontName   := "Courier" 
              :fontHeight := 13
              :fontWidth  := 0
              :Title      := ::cSistema
              :icon       := 'icojpa.Ico'
              :ReSizable  := .F.
              :Closable   := .F. 
              :create()  
           ENDWITH     
            CLS  
  

METHOD lsalir() CLASS TApp01
   ::aContl[1] := 0 ; ::aContl[2] := 0
    ::CTLFIN := 1
    ::GUIDestroy()
    ::oCrt:Destroy() 
     alert("Salida ")
   ::CLOSE()
RETURN self

https://www.4shared.com/photo/OocUoM5yi ... lla_0.html

Necesito ayuda con el use de gtwvg

Enviado: 07 Fev 2020 21:35
por JoséQuintas
Gostaria de ver um exemplo de como está usando a wvtDialog(), pra tentar entender qual é o problema.
Não uso, então no momento não faço idéia do funcionamento prático.
Pelo que imagino, não dá pra usar Dialog numa crt, e sim uma crt numa dialog.

Necesito ayuda con el use de gtwvg

Enviado: 08 Fev 2020 01:13
por Ruben Dario
asi Uso WvtDialog()

El Problema con WvtDialog() si me funciona y me retorna al menu principal.
El problema, es como controlo que no me limpie la pantalla, quiero que me coloque la ejecucion del WvtDialog() sin limpiar de acuerdo a la imagen
o sea que me coloque la ejecucion WvtDialog encima de menu principal.
Asi como ilustre en la imagenes.
He revisado tu codigo de JoseQuintas-master pero no manejas estos recursos. no se si vi mal. esto es posible costruir el .exe para ver las pantallas.

Gracias por todo.

Código: Selecionar todos

METHOD FORM_CAPT(ME1,ME2,ME3,ME4,ME5,ME6,opr,cnt,a1,a2,b1,b2,o1,o2,p1,p2) CLASS TApp01
          WITH OBJECT ::oCrt :=  WvtDialog():New(kb1, kb2, ::cSistema, "Courier New", ) 
           :nTooltipWidth     := 300
           :nTooltipTextColor := RGB(  16,  16,  16 )  
           :Create() 
         ENDWITH  

RETURN self


METHOD lsalir() CLASS TApp01
   ::aContl[1] := 0 ; ::aContl[2] := 0
    ::CTLFIN := 1
    ::GUIDestroy()
    ::oCrt:Destroy() 
     alert("Salida ")
   ::CLOSE()
RETURN self

Pantalla UsandoWvtDialog
https://www.4shared.com/photo/l-HnKgFEe ... ialog.html

Pantalla Usando WvgCrt
https://www.4shared.com/photo/_WWNrQLzi ... vgCrt.html

Necesito ayuda con el use de gtwvg

Enviado: 08 Fev 2020 21:10
por JoséQuintas
Vou fazer testes.
Talvez você tenha descoberto algo que eu estava procurando.
Ou talvez nem esteja usando a Dialog.

Se quiser usar multithread, talvez facilite, mas tem que esquecer variáveis públicas.
Em multithread, o módulo se comporta como um EXE em separado, e tem sua própria janela.

Código: Selecionar todos

#include "inkey.ch"

PROCEDURE Main

   hb_ThreadStart( { || Test1() } )
   hb_ThreadStart( { || Test1() } )
   hb_ThreadStart( { || Test1() } )
   hb_ThreadStart( { || Test1() } )
   hb_ThreadWaitForAll()

   RETURN

FUNCTION Test1()

   hb_gtReload( "WVG")
   SetMode( 25, 80 )
   CLS
   ? "This is a Thread"
   Inkey(0)

   RETURN NIL

PROCEDURE HB_GTSYS

   REQUEST HB_GT_WVG_DEFAULT

   RETURN
hbmk2 test -mt gtwvg.hbc

Importante:
O módulo principal fica escondido, vai se manter enquanto houver thread em execução.
Dependendo do que acontecer no módulo, o programa pode ficar como um processo no Windows, sem janela, e precisar ser fechado pelo gerenciador de tarefas.

TALVEZ você esteja usando essa mesma janela, e não uma Dialog.
multithread.png

Necesito ayuda con el use de gtwvg

Enviado: 05 Mai 2020 15:49
por Ramos
Boa tarde,
Usando o exemplo DEMOXBP, com GTWVG, também necessito de uma ajuda com o seguinte:
1) Ao APLICAR ir para uma função com o radiobutton selecionado(são usados 4 radiobutt) e as variáveis digitadas(3 variáveis)
2) Na funcção Calculos, faria algumas operações e de acordo com o radiobutt ia atualizar o Memoread().
3) Em um dos botões, preciso configurar o diretório com os arquivos. Isso ficaria em um DBF. Exemplo. Arquivo PARAMETRO - Nome01 -C 20
Tentei fazer mas, não mostra o SAY e nem o GET.

Exemplos

Código: Selecionar todos

   oXbp := WvgPushButton():new( oStatic2 )
   oXbp:caption := "Aplicar"
   oXbp:create( , , { 830, 520 }, { 60, 25 } )
   oXbp:activate := {||  CALCULOS(cVarA,cVarB,cVarC,cR1,cR2,cR3,cR4) , oCrt:sendMessage( WM_SIZE, 0, 0 ) }
   
   oRadio  := WvgRadioButton():new( oStatic2, , { 10, 10 }, { 130, 15 } )
   oRadio:caption   := "Sequência Fibonacci"
   oRadio:selection := .T.
   oRadio:selected  := {| cR1, obj | cR1 := cR1,  Wvg_MessageBox( , obj:caption + iif( obj:selection, "< S >", "< N >" ) ) }
   oRadio:create()
 
  // Create first SLE, specify position using :create()
   // On :typeOut set the focus to the second SLE
   oXbp                := WvgSLE():new()
   oXbp:autoTab        := .T.
   oXbp:bufferLength   := 15
   // Data code block containing assignment to LOCAL variable
   oXbp:dataLink       := {| x | iif( x == NIL, cVarA, cVarA := x ) }
   oXbp:create( oStatic2, , { 10, 170 }, { 150, 20 } )
   oXbp:setData()
   // Assign the value of the edit buffer to a LOCAL variable when the input focus is lost
   oXbp:killInputFocus := {| x, y, oSLE | x := x, y := y, oSLE:getData(), oPanel:caption := "cVarA =" + cVarA }


FUNCTION CONFIGURA()
********* colocar say e get para atualizar um arquivo de parametros -> campos para personalizar diretorios(pastas)
******** não consigo usar SAY E nem GET

RETURN NIL

STATIC FUNCTION CALCULOS()  // função após usar o botão APLICAR
*** ao escolher radiobutton e aplicar faria uns calculos aqui, criando os arquivos textos de depois
*** queria atualizar o memoread(), pois seria um arquivo com os cálculos
*** Se botão for 1, fazer alguns calculos e  memoread("1.JRC")
*** SE botão for 2, fazer alguns calculos e memoread("2.JRC")
*** não consigo passar a variável, nem o radiobutton, 

RETURN NIL
Se alguém puder ajudar. De qualquer forma estou grato,

Ramos

Necesito ayuda con el use de gtwvg

Enviado: 05 Mai 2020 16:39
por JoséQuintas
wvgDialog() é exclusiva pra GUI, não tem tela texto.
Talvez uma wvgCrt() vinculada à dialog, ou label.

Vou fazer testes aqui pra ver o que consigo.

Necesito ayuda con el use de gtwvg

Enviado: 08 Mai 2020 19:27
por Ramos
Boa noite!
José usando o que disse, consegui criar WvgCrt()

Código: Selecionar todos

FUNCTION CONFIGURA(oCrt)
Local a1 := 7
Local 	   a2 :=12 
Local 	   b1 := 33
Local 	   b2 := 119
Local  oCrt1
local GetList := {}
SetMode( 33,100)
	   oCrt1 := WvgCrt():New(,, { a1,a2 }, { b1,b2 },, .t. )
	      oCrt1:Title := "Parametros"
	      oCrt1:ReSizable := .T.  // redimensionar
	      oCrt1:Closable := .T.
	      oCrt1:create()
		@ 0,0 get a1
		read
           oCrt1:destroy()
RETURN oCrt
Vou continuar testando. Obrigado.

Ramos