Clipper On Line • Ver Tópico - Mudar o foco de uma página para outra

Mudar o foco de uma página para outra

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Mudar o foco de uma página para outra

Mensagempor Pereira » 24 Mai 2017 12:19

Boa tarde.

Tenho um form com uma TAB que possui 3 páginas (abas).
Ao dar ENTER no último campo da página 1, preciso que mude automaticamente o foco para o primeiro campo da página 2 para facilitar a digitação dos dados.
Tem como fazer isto?

Neste momento, ao digitar o último campo da página 1 (aba 1) e dar <ENTER> ou <TAB>, o foco vai para o topo da TAB para ser selecionado com seta para o lado para que entre na página 2 (aba 2).

Agradeço desde já a atenção.
Pereira
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 2
Data de registro: 14 Ago 2003 06:29
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mudar o foco de uma página para outra

Mensagempor Pablo César » 24 Mai 2017 14:57

Oi Pereira, seja bem vindo ao fórum.

Ao dar ENTER no último campo da página 1

Você não disse se o controle é um TEXTBOX. Supondo que sim, veja o seguinte exemplo em HMG:

/*
* HMG - Harbour Win32 GUI library Demo
*
* Copyright 2008 Roberto Lopez <mail.box.hmg@gmail.com>
* http://www.hmgforum.com//
*/

#include "hmg.ch"

Function Main
Local aRows [20] [3]

   aRows [1]   := {'Simpson','Homer','555-5555'}
   aRows [2]   := {'Mulder','Fox','324-6432'}
   aRows [3]   := {'Smart','Max','432-5892'}
   aRows [4]   := {'Grillo','Pepe','894-2332'}
   aRows [5]   := {'Kirk','James','346-9873'}

   DEFINE WINDOW Form_1 ;
      AT 0,0 ;
      WIDTH 640 HEIGHT 480 ;
      TITLE 'HMG Demo' ;
      MAIN

      DEFINE MAIN MENU
         DEFINE POPUP 'Test'
            MENUITEM 'Get Button Caption' ACTION MsgInfo ( Form_1.Tab_1(1).Button_1.Caption )
            MENUITEM 'Set Button Caption' ACTION Form_1.Tab_1(1).Button_1.Caption := 'New'
            SEPARATOR
            MENUITEM 'Get Grid Header' ACTION MsgInfo ( Form_1.Tab_1(4).Grid_1.Header(1) )
            MENUITEM 'Set Grid Header' ACTION Form_1.Tab_1(4).Grid_1.Header(1) := 'New'
            SEPARATOR
            MENUITEM 'Set Grid Cell' ACTION Form_1.Tab_1(4).Grid_1.Cell(1,1) := 'New'
            MENUITEM 'Get Grid Cell' ACTION MsgInfo ( Form_1.Tab_1(4).Grid_1.Cell(1,1) )
            SEPARATOR
            MENUITEM 'Show Button' ACTION Form_1.Tab_1(1).Button_1.Show()
            MENUITEM 'Hide Button' ACTION Form_1.Tab_1(1).Button_1.Hide()
            SEPARATOR
            MENUITEM 'Next Page-TAB' ACTION (Form_1.Tab_1.Value := 2,Form_1.Text_3.SetFocus)
         END POPUP
      END MENU

      DEFINE TAB Tab_1 ;
         AT 10,10 ;
         WIDTH 600 ;
         HEIGHT 400 ;
         VALUE 1 ;
         TOOLTIP 'Tab Control'

         PAGE 'Page 1' IMAGE "exit.bmp"

               @ 100,250 BUTTON Button_1 CAPTION "Test" WIDTH 50 HEIGHT 50 ACTION MsgInfo('Test!')
             
              @ 200,100 TEXTBOX Text_1 VALUE "" ON ENTER InsertTab()
             
              @ 300,100 TEXTBOX Text_2 VALUE "" ON ENTER (Form_1.Tab_1.Value := 2,Form_1.Text_3.SetFocus)

         END PAGE

         PAGE 'Page &2' IMAGE "info.bmp"

            DEFINE RADIOGROUP R1
               ROW   100
               COL   100
               OPTIONS   { '1','2','3' }
               VALUE   1
            END RADIOGROUP
            
            DEFINE TEXTBOX Text_3
                ROW    230
                COL    130
                WIDTH  120
                HEIGHT 24
                ONENTER Nil
                VALUE ""
            END TEXTBOX

         END PAGE

         PAGE 'Page 3' IMAGE "check.bmp"

            @ 100,250 SPINNER Spinner_1 ;
            RANGE 0,10 ;
            VALUE 5 ;
            WIDTH 100 ;
            TOOLTIP 'Range 0,10' ;
            ON CHANGE PlayBeep()

         END PAGE

         PAGE 'Page 4' IMAGE "button.bmp"

            @ 50,50 GRID Grid_1 ;
               WIDTH 200 ;
               HEIGHT 330 ;
               HEADERS {'Last Name','First Name','Phone'} ;
               WIDTHS {140,140,140};
               ITEMS aRows ;
               VALUE 1

         END PAGE

      END TAB

   END WINDOW

   Form_1.Center
   
   form_1.Text_1.SetFocus
   
   Form_1.Activate

Return Nil


Baseado no exemplo C:\hmg.3.4.4\SAMPLES\Controls\Tab\TAB_2 e adicionados TEXTBOXes.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Mudar o foco de uma página para outra

Mensagempor Pereira » 25 Mai 2017 07:54

Pablo,

funcionou perfeitamente.

Obrigado.

:{
Pereira
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 2
Data de registro: 14 Ago 2003 06:29
Curtiu: 0 vez
Mens.Curtidas: 0 vez




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 7 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro