SET XHGTK ENTERTAB ON

Outras bibliotecas visuais e IDEs para Harbour/xHarbour (xHGTK/HbWxW/GtWvT/GtWvW/WvWtools.etc)

Moderador: Moderadores

jamazevedo
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 29 Dez 2005 16:50
Localização: Manaus - AM

SET XHGTK ENTERTAB ON

Mensagem por jamazevedo »

Olá pelo que pude entender esse set "SET XHGTK ENTERTAB ON" faz com que a tecla <ENTER> funcione igual a tecla <TAB>. Pois bem coloque em minha aplicação e não está funcionando precisa que mais algum comando ??

O meu código está assim:

Código: Selecionar todos

...
          SET CENTURY ON
          SET DATE TO GERMAN
          SET DELETE ON
	  SET XHGTK ENTERTAB ON
...
          oWindow := Gtk_Window_New( GTK_WINDOW_TOPLEVEL )
          Gtk_Widget_Set_Size_Request( oWindow , nLargura , nAltura )
          Gtk_Window_Set_Title( oWindow , cPrograma )
          Gtk_Window_Set_Position( oWindow , GTK_WIN_POS_CENTER )
...
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
marcosgambeta
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 16 Jun 2005 22:53

Re: SET XHGTK ENTERTAB ON

Mensagem por marcosgambeta »

O comando SET XHGTK ENTERTAB ON funciona quando você utiliza as classes.

Utilizando diretamente as funções, tem de se fazer manualmente.

Não tive tempo de testar ainda, mas tem este código nas classes TControl/TMask:

gtk_signal_connect(pWidget, "key_press_event", {|a,b,c| iif( b == GDK_Return, xhgtk_move_tab_forward(a), NIL ) })

A constante GDK_Return está definida no arquivo gdkkeysyms.ch. Inclua a linha abaixo no seu programa:

#include "gdkkeysyms.ch"
Atenciosamente,
Marcos Antonio Gambeta
jamazevedo
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 29 Dez 2005 16:50
Localização: Manaus - AM

SET XHGTK ENTERTAB ON

Mensagem por jamazevedo »

O acesso direito através de "gtk_signal_connect(pWidget, "key_press_event", {|a,b,c| iif( b == GDK_Return, xhgtk_move_tab_forward(a), NIL ) })" funciona.

Apenas para faciliar o aprendizado segue um exemplo simples:

Código: Selecionar todos

...
#INCLUDE "gtk.ch"
#INCLUDE "xhgtk.ch"
...
cCodigo := Gtk_Entry_New()
cNome   := Gtk_Entry_New()
...
Gtk_Signal_Connect( cCodigo , "key_press_event" , {|a,b,c| iif( b == GDK_Return , xHGtk_Move_Tab_Forward(a) , NIL ) } )
Gtk_Signal_Connect( cNome   , "key_press_event" , {|a,b,c| iif( b == GDK_Return , xHGtk_Move_Tab_Forward(a) , NIL ) } )
...
______________________________________________________
Usando: Linux Ubuntu 18.04, Harbour 3.2.0dev r1811161533
______________________________________________________
José Airton de Menezes Azevedo
Manaus - AM
Responder