Navegar

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Vlademir
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 30 Abr 2008 15:58
Localização: Curitiba/Pr

Navegar

Mensagem por Vlademir »

Tem como navegar entre os GETs e os botões BUTTON ou OWNERBUTTON utilizando a tecla TAB?
Nos exemplos que tenho e nos meus programas, navega somente entre os GETs.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Navegar

Mensagem por sygecom »

Você esta utilizando a ultima versão da CVS ? foi feita uma correção que dah focu direto em button no final dos GET, sendo assim a tecla TAB passa por ele tmb. E pode tentar usando tmb. nas Dialog "CLIPPER NOEXIT"
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Luciano Bonfim
Usuário Nível 3
Usuário Nível 3
Mensagens: 414
Registrado em: 23 Ago 2007 09:34
Localização: Rio de Janeiro / São Paulo
Contato:

Re: Navegar

Mensagem por Luciano Bonfim »

usa STYLE TABSTOP
Muito Obrigado,

Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Vlademir
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 30 Abr 2008 15:58
Localização: Curitiba/Pr

Re: Navegar

Mensagem por Vlademir »

Como consigo a última versão e atualização do xHarbour e HwGui.

Utilizo hoje: xHarbour 0.99.70
hwgui: 2.16
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Navegar

Mensagem por sygecom »

Vlademir escreveu:Como consigo a última versão e atualização do xHarbour e HwGui.

Utilizo hoje: xHarbour 0.99.70
hwgui: 2.16
Você pode baixar no link abaixo:
xHarbour + Contrib + Hwgui 2.16(CVS) + Bcc 5.5.1

Depois para atualizar basta instalar o Tortoise, e ir atualizando a pasta HWGUI.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Vlademir
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 30 Abr 2008 15:58
Localização: Curitiba/Pr

Re: Navegar

Mensagem por Vlademir »

Baixei a ultima versão conforme indicado acima, porém não pula dos GETs para os BUTTONS.

Como funciona "STYLE TABSTOP", pois dá TABSTOP, como inexistente.

Tem como mandar um exemplo.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Navegar

Mensagem por sygecom »

Código: Selecionar todos

@ 400,130   GET oLITROS VAR wLITROS  PICTURE "@E 999,999.9"         SIZE 100,22;
STYLE WS_TABSTOP;
TOOLTIP "Informe a Quantidade de Litros"
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Vlademir
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 30 Abr 2008 15:58
Localização: Curitiba/Pr

Re: Navegar

Mensagem por Vlademir »

Este é o meu código, o qual não funciona a navegação com o TAB entre os GETs e os botões.
Agradeço a ajuda...

Código: Selecionar todos

function duplicaRecebimentoItemComprado()
Local oDuplicaItemComprado, oFont:= HFont():Add( "Courier",0,-13 )
Local oFont2 := HFont():Add( "MS Sans Serif",0,-13 )

local	nQuantidade,	oQuantidade,;
	oGrava, 	oSai, 	cUsuario, 	cMatricula

	nQuantidade:=0
	INIT DIALOG oDuplicaItemComprado TITLE "Compra - duplicar lançamento"  ;
		CLIPPER NOEXIT ;
	   	AT 0,0  SIZE 400,200 ;
		STYLE DS_CENTER + WS_VISIBLE + WS_POPUP + WS_VISIBLE + WS_CAPTION + WS_SYSMENU ;
		FONT oFont

	@  10,40 SAY "Quantidade que ficará neste lançamento:" ;
   		 	SIZE 350, 22
   	
	@  10,65 GET oQuantidade VAR nQuantidade  SIZE 120,25 ;
    		PICTURE "@e 9,999,999.999" ;
			STYLE WS_TABSTOP+WS_DLGFRAME
	
	@ 140,65 SAY Compras->unidade ;
   			SIZE 50, 22 ;
   			STYLE WS_DLGFRAME

	@  10,150 OWNERBUTTON oGrava SIZE 75,25 ;
                  TEXT "Grava" ;
                  ON CLICK {|| gravaDuplicaItem( cUsuario, cMatricula,nQuantidade), oDuplicaItemComprado:close() }
	
	@  90,150 OWNERBUTTON oSai SIZE 75,25 ;
                  TEXT "Sair" ;
                  ON CLICK {|| oDuplicaItemComprado:close() }

	ACTIVATE DIALOG oDuplicaItemComprado
	oFont:Release()

return nil
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Navegar

Mensagem por sygecom »

Tente assim:

Código: Selecionar todos

function duplicaRecebimentoItemComprado()
Local oDuplicaItemComprado, oFont:= HFont():Add( "Courier",0,-13 )
Local oFont2 := HFont():Add( "MS Sans Serif",0,-13 )

local   nQuantidade,   oQuantidade,;
   oGrava,    oSai,    cUsuario,    cMatricula

   nQuantidade:=0
   INIT DIALOG oDuplicaItemComprado TITLE "Compra - duplicar lançamento"  ;
   CLIPPER NOEXIT ;
   AT 0,0  SIZE 400,200 ;
   STYLE DS_CENTER + WS_VISIBLE + WS_POPUP + WS_VISIBLE + WS_CAPTION + WS_SYSMENU ;
   FONT oFont

   @  10,40 SAY "Quantidade que ficará neste lançamento:" ;
            SIZE 350, 22

   @  10,65 GET oQuantidade VAR nQuantidade  SIZE 120,25 ;
            PICTURE "@e 9,999,999.999" ;
            STYLE WS_TABSTOP+WS_DLGFRAME

   @ 140,65 SAY Compras->unidade ;
            SIZE 50, 22 ;
            STYLE WS_DLGFRAME

   @  10,150 OWNERBUTTON oGrava SIZE 75,25 ;
             TEXT "Grava" ;
             ON CLICK {|| gravaDuplicaItem( cUsuario, cMatricula,nQuantidade), oDuplicaItemComprado:close() };
             STYLE WS_TABSTOP
                  
   @  90,150 OWNERBUTTON oSai SIZE 75,25 ;
             TEXT "Sair" ;
             ON CLICK {|| oDuplicaItemComprado:close() };
             STYLE WS_TABSTOP
                  
   ACTIVATE DIALOG oDuplicaItemComprado
   oFont:Release()

return nil
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Vlademir
Usuário Nível 1
Usuário Nível 1
Mensagens: 32
Registrado em: 30 Abr 2008 15:58
Localização: Curitiba/Pr

Re: Navegar

Mensagem por Vlademir »

Funcionou legal ............

Agora outro problema de navegação:
Quando tem um BROWSE e os botões, tem como com o TAB passar do browse para os botões.
Este é o meu código:

Código: Selecionar todos


     INIT DIALOG oForm 	 CLIPPER  NOEXIT 	; 
            TITLE "Comprados" 		;
             FONT oFont 			;
             AT 0, 0 SIZE 850, 400 
                            
             @  5, 5 BROWSE oBrowse DATABASE OF oForm SIZE 845,340 ;
              		STYLE WS_VSCROLL + WS_HSCROLL+WS_TABSTOP ;
              		ON SIZE {|o,x,y|MoveWindow(o:handle,5,5,x-5,(y-60))} ;
              		ON CLICK {|| detalheOrdemItemComprado(), oBrowse:refresh() } ;
              		MULTISELECT


ADD COLUMN {|| ordemCpra }	TO oBrowse HEADER 'Ord/Compra'
ADD COLUMN {|| alltrim(id) }	TO oBrowse HEADER 'Requisição'	PICTURE "@!" 

     @ 120, 360 BUTTON oDetalhe ;
	CAPTION "Detalhe/Compra" ; 
	SIZE 90,25 ;
	STYLE WS_TABSTOP  ;
	TOOLTIP "Detalhes da ordem de compra"		; 
	ON SIZE {|o,x,y|MoveWindow(o:handle,120,(y-40))} 	;
	ON CLICK {|| detalheOrdemItemComprado(), oBrowse:refresh() }

   @ 215, 360 BUTTON oImprimeOrdem ;
	CAPTION "Imprime/Ordem" ;
	SIZE 80,25 	;
	STYLE WS_TABSTOP  ;				
	TOOLTIP "Imprimir a ordem de compra"	;
	ON SIZE {|o,x,y|MoveWindow(o:handle,215,(y-40))}	;
	ON CLICK {|| imprimeOrdemCompra( oBrowse,.f. ) }

       
        ACTIVATE DIALOG oForm


Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Navegar

Mensagem por sygecom »

Nunca usei TAB em Browse, mas acredito que se vc iniciar o focu no Browse, depois pode ir para o Browse o focu, porem sair do Browse com TAB já não sei.

Quem sabe aparece alguem para dar alguma dica !!!

Abraços
Leoanrdo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
esbasso
Colaborador
Colaborador
Mensagens: 325
Registrado em: 24 Jan 2007 17:49
Localização: CHAPECO/SC

Re: Navegar

Mensagem por esbasso »

Sugeri adicionar o CTRL+TAB E CTL+SHIFT+TAB para sair do BROWSE. Taçvez seja implementado.

mas QUEM quiser implementar desde ja

LOGO APOS ESTE
ELSEIF wParam == 33 // PageUp
...

--> ADCIONE ESTE CODIGO
--> ELSEIF wParam == VK_TAB .AND. ::lCtrlPress = .T.
nPos := AScan( ::oparent:acontrols, { | o | o:handle == ::HANDLE } )
IF GetKeyState(VK_SHIFT) < 0
nPos := IIF(nPos <= 1 ,len(::oparent:acontrols),nPos-1)
ELSE
nPos := IIF(nPos = 0 .OR. nPos=len(::oparent:acontrols),1,nPos+1)
ENDIF
::oparent:acontrols[nPos]:SETFOCUS()
///
--> FINAL
ELSEIF wParam == 13 // Enter
::Edit()
Luis Fernando Basso
Desenvolvedor VFP + XHARBOUR + HWGUI
lfbasso@gmail.com
http://www.engersoft.com.br
Responder