我正在C中使用文件浏览器小程序的孙子。
我的问题是我找不到一个解决方案来加速菜单中鼠标滚轮的滚动。在我的情况下,每个Mousewheel Click只移动1/2条目,我想要的是5个条目。
守则:
eintrag->menu = gtk_menu_new() ;
gtk_signal_connect(GTK_OBJECT (eintrag->menu),"scroll-event",(GtkSignalFunc) scroll_test,NULL) ;
if ( (n = scandir(parent->full_name,&dir_list,0,alphasort)) > 0 )
{
for ( i = 0 ; i < n ; i++ )
{
eintrag->item = gtk_image_menu_item_new_with_label(eintrag->filename) ;
,,,,
}
}
------------------------------------------------------------------------------------
gboolean scroll_test(GtkWidget *widget,GdkEventScroll *event,void *nix)
{
g_print("scroll %s %d %d \n",name,event->send_event,event->direction ;
return FALSE ;
}
代码是一个非常简单的GTK菜单,附有“scroll.event”。
第一次尝试是在scroll_test CB中发出一个aditional scroll-event。通过使用g_signal_emit_by_name(小部件,“滚动事件”,小部件,事件,NULL),即使我使用新的时间戳设置了一个新的事件结构并且将&gt; send_event设置为TRUE,结果仍然令人困惑。也许我在这里有一个Parms错误。
第二个尝试是创建一个gtk_adjustment_new,使用gtk_widget_set_scroll_adjustments将其附加到菜单并更改gtk_adjustment_set_step_increment。没有变化。