• Blogs
  • Foro
  • Chat
  • Libros
  • LoCos
  • Agregador
Costa Rica LoCoTeam

The next version of Ubuntu is coming soon

Buscar

Encuesta

¿Al guien sabe la equibalencia del programa autoplay-media-studio para linux ?
corealuis_406@hotmail.com
0%
porfa
100%
Total votes: 1
  • Añadir nuevo comentario
  • 18 lecturas
  • Encuestas anteriores

Inicio de sesión

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Crear cuenta nueva
  • Solicitar nueva contraseña

Navegación

  • Envíos recientes
  • Consejos para composición
  • Encuestas

Temas nuevos

  • Stickers de Ubuntu
  • Lineas de Colores - Dell Inspiron 1501
  • Buuuuuuuuuuenas!
more

Comentarios recientes

  • lastima que leden tampoco tiempo alos reocitorios
    hace 4 semanas 3 días
  • Probado en kubuntu 11.10 y
    hace 5 semanas 3 días
  • java plugin en kubuntu 11.04
    hace 23 semanas 1 hora
  • Curso Linux 2011 Veracruz-México
    hace 43 semanas 3 días
  • problema Efectos compiz en 10.04
    hace 1 año 2 semanas
  • Podés comprar desde la tienda
    hace 1 año 6 semanas
  • Espero q te ayude
    hace 1 año 6 semanas
  • Busca en ebay los chinitos te
    hace 1 año 32 semanas
  • Instalar VirtualBox OSE
    hace 1 año 35 semanas
  • es fácil. Aplicaciones /
    hace 1 año 36 semanas

Limitar un Entry con GTK+

Submitted by shakka on Lun, 23/07/2007 - 22:00
  • Desarrollo/Programación

Despues de buscar informacion sobre como controlar la captura de teclado sobre un widget tipo GTkEntry[ 0 ], encontre la forma de hacerlo mediante el evento “key_press_event”.

Código:

GtkWidget *txt_entrada;
...
txt_entrada = gtk_entry_new_with_max_length(24);
...
/*
* Indicamos la funcion(txt_entrada_keypress) que manejara
* el evento(key_press_event), sobre el objeto txt_entrada
*/
gtk_signal_connect
(
GTK_OBJECT (txt_entrada),
“key_press_event”,
GTK_SIGNAL_FUNC (txt_entrada_keypress),
NULL
);

Esta funcion evaluara cada tecla presionada mediante macros las cuales pueden ser consultadas en el archivo de cabecera gdkkeysyms.h[ 1 ] donde estan declaradas y en caso de toparse, en este caso , con los digitos 1 y 0 (que son los valores que queremos permitir) devolvera como retorno un estado FALSE, para que pueda ser capturada por el entry.

Código:

gboolean txt_entrada_keypress(GtkWidget *widget,GdkEventKey *event,gpointer data)
{
/*
* Estas teclas corresponden al panel numerico
* situado en la parte superior
*/
if ((event->keyval == GDK_0) || (event->keyval == GDK_1))
{
return FALSE;
}

/*
* Estas teclas corresponden al panel numerico
* situado a la derecha
*/
if ((event->keyval == GDK_KP_0) || (event->keyval == GDK_KP_1))
{
return FALSE;
}
/* Permitimos borrar */
if ((event->keyval == GDK_BackSpace) || (event->keyval == GDK_Delete))
{
return FALSE;
}

/* Permitimos algunas teclas especiales de desplazamiento… */
if ((event->keyval == GDK_Home) || (event->keyval == GDK_End))
{
return FALSE;
}

if ((event->keyval == GDK_Left) || (event->keyval == GDK_Right))
{
return FALSE;
}

return TRUE;
}

[ 0 ] http://library.gnome.org/devel/gtk/unstable/GtkEntry.html
[ 1 ] http://www.koders.com/c/fidD9E5E78FD91FE6ABDD6D3F78DA5E4A0FADE79933.aspx

Mas Informacion:
http://developer.gnome.org
http://radamanthys.homelinux.org/?p=15

‹ Evitar maximizar ventana con GTK+ Recuperar Grub al instalar un S.O. y al reiniciar ver que no esta ›
  • Añadir nuevo comentario
  • 362 lecturas
El contenido de este sitio web está liberado bajo la licencia Creative Commons Atribución 3.0, a menos que se especifique lo contrario.