bug fivewin lostfocus

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug fivewin lostfocus

Mensagem por JoséQuintas »

Código: Selecionar todos

#include "FiveWin.ch"

function Main()

   local oDlg, oFld, cTest1, cTest2, cTest3, oGet2, oGet3

   cTest1 := cTest2 := cTest3 := Space( 30 )

   TGet():SetColorFocus( nRGB( 255, 255, 0 ) )

   DEFINE DIALOG oDlg SIZE 400, 300

   @ 0, 0 FOLDEREX oFld OF oDlg SIZE 200, 150

   @ 1, 1 GET cTest1 OF oFld:aDialogs[ 1 ]

   @ 2, 1 GET oGet2 VAR cTest2 OF oFld:aDialogs[ 1 ]
   oGet2:bLostFocus = { || oFld:SetOption( 2 ), oGet3:SetFocus() }

   @ 1, 1 GET oGet3 VAR cTest3 OF oFld:aDialogs[ 2 ]

   ACTIVATE DIALOG oDlg CENTERED

return nil  
Fonte acima funciona.
tab 1 manda foco pra tab2.

Código: Selecionar todos


#include "FiveWin.ch"

function Main()

   local oDlg, oFld, cTest1, cTest2, cTest3, oGet1, oGet2, oGet3

   cTest1 := cTest2 := cTest3 := Space( 30 )

   TGet():SetColorFocus( nRGB( 255, 255, 0 ) )

   DEFINE DIALOG oDlg SIZE 400, 300

   @ 0, 0 FOLDEREX oFld OF oDlg SIZE 200, 150

   @ 1, 1 GET oGet1 VAR cTest1 OF oFld:aDialogs[ 1 ]

   @ 2, 1 GET oGet2 VAR cTest2 OF oFld:aDialogs[ 1 ]
   oGet2:bLostFocus := { || oFld:SetOption( 2 ), oGet3:SetFocus() }

   @ 1, 1 GET oGet3 VAR cTest3 OF oFld:aDialogs[ 2 ]
   oGet3:bLostFocus := { || oFld:SetOption( 1 ), oGet1:SetFocus() }

   ACTIVATE DIALOG oDlg CENTERED

return nil
Acrescentei no terceiro get pra voltar pra tab1.
Agora este funciona, mas o outro parou de funcionar.


Em toda lib, tudo igual.
Desde que comecei a tentar GUI, é só achar bug.
Nada mudou em um ano, nem com lib comercial.

Nota: NÃO estou usando versão pirata.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

bug fivewin lostfocus

Mensagem por Kapiaba »

Pergunta tonta, o que você quer fazer, é "navegar", entre os GETS dos FOLDERS?

Regards, saludos.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

bug fivewin lostfocus

Mensagem por Kapiaba »

Procure no Forum de FiveWin, pelo comando oJump. E use o forum em espanhol no
Inter pois fica dificil entender o que você quer em Inglês.

Código: Selecionar todos

// C:\FWH\SAMPLES\FLQUINT.PRG

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL oDlg, oFld, cTest1, cTest2, cTest3, cTest4, oGet1, oGet2, oGet3, oGet4
   LOCAL oCursorBtn := TCursor():New(, 'HAND' )
   LOCAL aFolder := { "Menu1", "Menu2", "Menu3" }

   cTest1 := cTest2 := cTest3 := cTest4 := Space( 30 )

   TGet():SetColorFocus( nRGB( 255, 255, 0 ) )

   DEFINE DIALOG oDlg SIZE 400, 300

   @ 0, 0 FOLDEREX oFld PROMPTS aFolder SIZE 200, 150 TAB HEIGHT 30 ROUND 5 TOP

   WITH OBJECT oFld

      :lTransparent := .T.
      :aGradSel   := { { 1.0, 3926784, 16777215 }, { 0.1, 3926784, 16777215 } } // Green
      :aGradUnSel := { { 1.0, 16744448, 16777215 }, { 0.1, 16744448, 16777215 } } // Blue
      :aGradOver  := { { 1.0, 255, 16777215 }, { 0.1, 255, 16777215 } } // Red
      :aGradOverUnSel := { { 1.0, 12824535, 16777215 }, { 0.1, 12824535, 16777215 } } // Purple
      :aGradDis := { { 1.0, 15790320, 16777215 }, { 0.1, 15790320, 167772 } }
      //
      :aEnable = { .T., .T., .T., .F. }
      :SetOption( 1 )
      :Show()
      // :DisableTab( 3 )  // idem a :aEnable
      :oCursor := oCursorBtn

   END

   @ 1, 1 GET oGet1 VAR cTest1 OF oFld:aDialogs[ 1 ]

   @ 2, 1 GET oGet2 VAR cTest2 OF oFld:aDialogs[ 1 ] ;
      VALID IF( GetASyncKey( VK_RETURN )  .OR.       ;
                GetASyncKey( VK_DOWN   ),            ;
              ( oGet1:oJump := oGet2,                ;
                oFld:SetOption( 2 ), oFld:SetFocus(),;
                oFld:Refresh(), .T. ), .T. )

   @ 1, 1 GET oGet3 VAR cTest3 OF oFld:aDialogs[ 2 ] ;
      VALID IF( GetASyncKey( VK_RETURN )  .OR.       ;
                GetASyncKey( VK_DOWN   ),            ;
              ( oGet3:oJump := oGet4,                ;
                oFld:SetOption( 3 ), oFld:SetFocus(),;
                oFld:Refresh(), .T. ), .T. )

   @ 1, 1 GET oGet4 VAR cTest4 OF oFld:aDialogs[ 3 ]

   ACTIVATE DIALOG oDlg CENTERED

RETURN NIL
Regards, saludos.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

bug fivewin lostfocus

Mensagem por JoséQuintas »

Já postei lá.
Sendo claro
Não sei porque esta merd. funcionou assim, mas funcionou., criar o codeblock antes de usar.

Código: Selecionar todos


   bCode := { || ;
      xTab:SetOption( nPageNext ), ;
      /* xTab:aDialogs[nPageNext ]:SetFocus() */ ;
      xTextboxNext:SetFocus() }

   xTextbox:bLostFocus := bCode
O problema agora é GET MEMO, que é TMULTIGET
Falta testar acrescentando um GET real.... vou alterar a estrutura do DBF de novo...

É o maior barato, peço suporte, e eu mesmo mostro solução, a deles não funciona kkkk
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
SOSSOFT
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 23 Out 2024 10:04

bug fivewin lostfocus

Mensagem por SOSSOFT »

Uma época comecei a usar HMG 3.5 (se não me engano),
Deu um trabalhão para fazer o que eu queria, daí surgiu uma nova versão, aí tudo que eu havia feito parou de funcionar, não podia ficar pesquisando tudo de novo só para fazer funcionar na versão nova, então tive que manter naquela versão por longo tempo (até hoje), nem sei que versão é a atual, mas tive que manter.
Em resumo cheguei a conclusão que devo manter tudo em modo console, daí tenho controle, não me incomodo, além que fica muito mais rápido e até mais bonito (bem... isso é a minha opinião, é claro)
Responder