Página 1 de 3

Abas (TAB) e foco

Enviado: 08 Mai 2008 01:17
por Luciano Bonfim
Pessoal

Tenho um DIALOG funcionando normal, mas quando eu divido os GETS em duas abas diferentes, no momento que a página é apresentada fica sem foco no primeiro GET da primeira ABA, o foco só fica certo se eu clicar na segnda ABA e depois clicar na primeira ABA. Como faço para o foco aparecer no primeiro GET da primeira ABA?

Outro problema (esse acontece mesmo sem usar ABAS) conforme vou dando TAB ou ENTER o foco vai passando pro GET seguinte, mas o foco nunca vai para o RADIOBUTTON e nem para o COMBOBOX, porque? existe algum tipo de "tabindex" igual o HTML?

Código: Selecionar todos


PREPARE FONT oFont NAME "Arial" WIDTH 0 HEIGHT -12 WEIGHT 400
INIT DIALOG oJanela CLIPPER NOEXIT TITLE vTitulo AT 0,0 SIZE 700,500 ICON  oIcon FONT oFont STYLE DS_CENTER + WS_VISIBLE + WS_CAPTION + WS_SYSMENU + WS_SIZEBOX ON INIT {|| opage1:setfocus()}

@ 0,0 TAB oPage1 ITEMS {}  SIZE 700,450 STYLE 0 +1

BEGIN PAGE 'Cadastro' OF oPage1
   @ 10 ,30   SAY "Código"   SIZE 100,22
   @ 10 ,060  SAY "Nome"     SIZE 100,22
   @ 10 ,090  SAY "Contato"  SIZE 100,22
   @ 470,090  SAY "Telefone" SIZE 100,22
   @ 10 ,120  SAY "Endereço" SIZE 100,22

   @ 010 ,150  SAY "Bairro"   SIZE 100,22
   @ 250 ,150  SAY "Cidade"   SIZE 100,22
   @ 470 ,150  SAY "CEP"      SIZE 100,22

   @ 90 ,030  GET ocod_for  VAR wCod_For        PICTURE "99999"          SIZE  80,22 MAXLENGTH 5
   @ 90 ,060  GET onome     VAR wnome           PICTURE "@!"             SIZE 350,22 MAXLENGTH 40

   RADIOGROUP
   @ 470,30 RADIOBUTTON oRadiobutton1 CAPTION "Física"   SIZE 100,22
   @ 470,50 RADIOBUTTON oRadiobutton2 CAPTION "Jurídica" SIZE 100,22
   END RADIOGROUP


   RADIOGROUP
   @ 570,30 RADIOBUTTON oRadiobutton3 CAPTION "Nacional"       SIZE 100,22
   @ 570,50 RADIOBUTTON oRadiobutton4 CAPTION "Internacional"  SIZE 100,22
   END RADIOGROUP

   @ 90 ,090  GET ocontato  VAR wcontato        PICTURE "@!"               SIZE 350,22 MAXLENGTH 40
   @ 550,090  GET otel_cont VAR wtel_cont       PICTURE "@R 999 9999-9999"    SIZE 100,22 MAXLENGTH 13

   @ 90 ,120  GET oendereco VAR wEndereco       PICTURE "@!"             SIZE 350,22 MAXLENGTH 40 STYLE ES_AUTOHSCROLL +WS_BORDER
   @ 090 ,150  GET obairro  VAR wbairro         PICTURE "@!"             SIZE 150,22 MAXLENGTH 15
   @ 300 ,150  GET ocidade  VAR wcidade         PICTURE "@!"             SIZE 150,22 MAXLENGTH 15
   @ 510 ,150  GET ocep     VAR wcep            PICTURE "@R 99999-999"   SIZE  80,22 MAXLENGTH 9
   @ 620 ,150 COMBOBOX oUF ITEMS retornaUFs() SIZE 50,500 INIT ascan(retornaUFs(),wUF)

END PAGE OF oPage1

BEGIN PAGE 'Dados Bancários' OF oPage1
   @ 10 ,030  SAY "Banco"    SIZE 100,22
   @ 10 ,060  SAY "Agência"  SIZE 100,22
   @ 10 ,090  SAY "Conta"    SIZE 100,22
   @ 10 ,120  SAY "Praça"    SIZE 100,22

   @ 90 ,030  GET obanco    VAR wbanco        PICTURE "@X"           SIZE 300,22 MAXLENGTH 30
   @ 90 ,060  GET oagencia  VAR wagencia      PICTURE "@X"           SIZE 300,22 MAXLENGTH 30
   @ 90 ,090  GET oconta    VAR wcc           PICTURE "@X"           SIZE 300,22 MAXLENGTH 30
   @ 90 ,120  GET opraca    VAR wpraca        PICTURE "@X"           SIZE 350,22 MAXLENGTH 40
END PAGE OF oPage1

@ 010,459 BUTTON btnConfirma CAPTION "&Confirma" TOOLTIP "Confirma Operação" SIZE 90,32 ON CLICK {||oJanela:close(),gravaFornecedor() } STYLE WS_TABSTOP
@ 110,459 BUTTON btnCancela  CAPTION "&Cancela"  TOOLTIP "Cancela Operação"  SIZE 90,32 ON CLICK {||oJanela:close()} STYLE WS_TABSTOP

oJanela:Activate()

Muito Obrigado

Re: Abas (TAB) e foco

Enviado: 08 Mai 2008 19:22
por sygecom
Luciano Bonfim escreveu:Pessoal

Tenho um DIALOG funcionando normal, mas quando eu divido os GETS em duas abas diferentes, no momento que a página é apresentada fica sem foco no primeiro GET da primeira ABA, o foco só fica certo se eu clicar na segnda ABA e depois clicar na primeira ABA. Como faço para o foco aparecer no primeiro GET da primeira ABA?
No seu exemplo você esta dando focu na TAB e na verdade deve dar no primeiro GET:
ON INIT {|| ocod_for:setfocus()}
Outro problema (esse acontece mesmo sem usar ABAS) conforme vou dando TAB ou ENTER o foco vai passando pro GET seguinte, mas o foco nunca vai para o RADIOBUTTON e nem para o COMBOBOX, porque? existe algum tipo de "tabindex" igual o HTML?
Para o RADIOBUTTON eu já tinha percebido esse erro, então em um GET antes do RadioButton, forço o FOCU para quando sair ir direto para o RADIOBUTTON, mas os COMBOBOX aqui esta funcionando normal ! você esta usando REDEFINE ? se sim, tente direto com GET.

Re: Abas (TAB) e foco

Enviado: 08 Mai 2008 22:21
por esbasso
caro Luciano existe o EVENT ON CHANGE NA TAB e com ele voce pode manipular os objetos no momento que uma PAGE pega o FOCUs.

exemplo
@ 31,278 TAB oPage1 ITEMS {} SIZE 500,142 ;
STYLE 0 ;
ON CHANGE {|o| onchange_opage1(o)}

BEGIN PAGE 'page 2' OF oPage1
@ 180,41 GROUPBOX "Opções totais" OF oPage1 SIZE 206,80
GET RADIOGROUP r1
@ 207,68 RADIOBUTTON oRadiobutton1 CAPTION "CheckBox" OF oPage1 SIZE 110,22
@ 207,89 RADIOBUTTON oRadiobutton2 CAPTION "CheckBox" OF oPage1 SIZE 110,22
END RADIOGROUP SELECTED 1


FUNCTION onchange_opage1(opage)
IF opage:GetActivePage() = 2
oRadiobutton1:SETFOCUS()
ENDIF
RETURN nil

Re: Abas (TAB) e foco

Enviado: 08 Mai 2008 22:27
por esbasso
no teu exemplo acima dA COMBOBOX
@ 620 ,150 COMBOBOX oUF ITEMS retornaUFs() SIZE 50,500 INIT ascan(retornaUFs(),wUF)

lembre-se que voce tem de sempre usar o GET para os objetos funcionarem corretamente no FOCU e nas passagem entre eles

@ 620 ,150 COMBOBOX oUF ITEMS retornaUFs() SIZE 50,500 INIT ascan(retornaUFs(),wUF)

FALTA O GET E O uso do bloco no INIT
@ 620 ,150 GET COMBOBOX oUF ITEMS retornaUFs() SIZE 50,500 INIT {||ascan(retornaUFs(),wUF)}

Re: Abas (TAB) e foco

Enviado: 08 Mai 2008 22:32
por esbasso
ALIAS ACIMA um problema , NÃO EXISTE INIT caso A COMBOBOX use O GET entao voce teria de inicializar o valor

nuf := ascan(retornaUFs(),wUF)

@ 620 ,150 GET COMBOBOX oUF VAR nuf ITEMS retornaUFs() SIZE 50,500

Re: Abas (TAB) e foco

Enviado: 09 Mai 2008 18:05
por Luciano Bonfim
nada funcionou continuo sem o focu aparecendo de primeiro... até no samples da HWGUI (tab.prg) acontece isso , o foco só aparece depois do clique na aba

minha soluçäo por enquanto foi tirar as ABAS até esse problema ser resolvido...

Muito Obrigado

Re: Abas (TAB) e foco

Enviado: 09 Mai 2008 19:31
por sygecom
Luciano Bonfim escreveu:nada funcionou continuo sem o focu aparecendo de primeiro... até no samples da HWGUI (tab.prg) acontece isso , o foco só aparece depois do clique na aba

minha soluçäo por enquanto foi tirar as ABAS até esse problema ser resolvido...

Muito Obrigado
Compila o exemplo que esta em ANEXO, esse exemplo ai funciona perfeitamente aqui para o que você quer.

Obs: Minha HWGUI foi compilada dia 23/03/2008

Re: Abas (TAB) e foco

Enviado: 10 Mai 2008 20:02
por Luciano Bonfim
Leonardo,

executei seu exemplo aqui e funcionou perfeitamente, o meu está igualzinho o seu (só muda a qdt de GETS e os nomes deles é claro) e näo funciona!!!!

tem coisas que só acontecem comigo rsrsrsrs

Re: Abas (TAB) e foco

Enviado: 05 Mar 2009 15:11
por Luciano Bonfim
Caro Basso,

Depois de tanto tempo resolvi tentar utilizar ABAS em um cadastro novamente... rsrsrs

fiz sua sugestäo do ON CHANGE nas Abas e funciona legal, porem se o GET que estou dando o focu tiver um VALID o sistema está executando esse VALID antes do usuário digitar qualquer coisa, e por isso, sempre que troco de ABA a Mensagem de erro da minha critica aparece

Muito Obrigado

Luciano Bonfim de Azevedo

Re: Abas (TAB) e foco

Enviado: 06 Mar 2009 01:00
por esbasso
FIZ UM TESTE e não ocorre isso .Funciona normal

Re: Abas (TAB) e foco

Enviado: 06 Mar 2009 01:35
por sygecom
Olá Luciano,
Fiz um teste aqui tmb. e não deu problema, unica coisa que o valid é executado quando eu clico em outra ABA, mas isso é normal pq o GET perde o focu então o valid tem que executar mesmo.

Re: Abas (TAB) e foco

Enviado: 06 Mar 2009 13:57
por Luciano Bonfim
desculpa pessoal, foi erro meu aqui... era erro no meu Valid....

Re: Abas (TAB) e foco

Enviado: 09 Dez 2009 15:06
por clebervn
Exemplo :

@ y,x TAB oTab ..........................

BEGIN PAGE "1" of oTab
......
ENDPAGE

BEGIN PAGE "2" of oTab
......
ENDPAGE

BEGIN PAGE "3" of oTab
......
ENDPAGE


Pergunta .... Tem como eu deixar as abas 2 e 3 desabilitadas ou escondidas até q eu queira mostra-las ??? usei o comando
oTab:HIDEPAGE(pagina) e nada aconteceu....... alguma dica ???

ABC

xHarbour 1.0.0 + Hwgui 2.16

Re: Abas (TAB) e foco

Enviado: 09 Dez 2009 15:39
por esbasso
bom se voce usar o hwgui do CVS, atualizada é só fazer
BEGIN PAGE "2" of oTab DISABLED
......
ENDPAGE

BEGIN PAGE "3" of oTab DISABLED

não sei a tua versão
mas da tambem para DESABILITAR desta forma
oTab:Page2:enabled := .F.
oTab:Page3:enabled := .F.

Abas (TAB) e foco

Enviado: 07 Out 2024 10:48
por deividdjs
porque não funciona <enter> para mudar de <GET> dentro do 'BEGIN PAGE' ???

fiz o teste no tutor tbm nao funciona ...