Página 1 de 1

SET XHGTK ENTERTAB ON

Enviado: 18 Jul 2008 10:12
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 )
...

Re: SET XHGTK ENTERTAB ON

Enviado: 21 Jul 2008 10:56
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"

SET XHGTK ENTERTAB ON

Enviado: 22 Jul 2008 09:22
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 ) } )
...