|
文件: |
gdk-html-2.22.1.tar.gz |
大小: |
364KB |
下载: |
下载 | |
对GTK+的空间,要想产生一个鼠标双击的信号(事件),还要借助GDK啊……
如何捕获一个双击(double click)事件(event)(例如在一个列表控件中)? Tim Janik 在 gtk 邮件列表(gtk-list)上写道(稍做修改):
//定义一个信号处理函数:
gint signal_handler_event(GtkWidget *widget, GdkEventButton *event, gpointer func_data) { if (GTK_IS_LIST_ITEM(widget) && (event->type==GDK_2BUTTON_PRESS || event->type==GDK_3BUTTON_PRESS) ) { printf("I feel %s clicked on button %d\n", event->type==GDK_2BUTTON_PRESS ? "double" : "triple", event->button); } return FALSE; } //将函数和你的控件连接:
{ /* list, list item init stuff */ gtk_signal_connect(GTK_OBJECT(list_item), "button_press_event", GTK_SIGNAL_FUNC(signal_handler_event), NULL); /* and/or */ gtk_signal_connect(GTK_OBJECT(list_item), "button_release_event", GTK_SIGNAL_FUNC(signal_handler_event), NULL); /* something else */ }
|
Owen Taylor 写道: "注意:一个单击的信号将在之前被受到,如果你双击一个按钮,将会在之前收到一个单击("clicked")的 信号(任何的工具都是这样,因为电脑无法读懂你的思想.)
阅读(991) | 评论(0) | 转发(0) |