2

私は C で file-browser-applet の孫に取り組んでいます。

私の問題は、メニューのマウスホイールでスクロールを高速化するソリューションが見つからないことです。私の場合、すべてのマウスホイール クリックは 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 ;
     }

コードは、「scroll.event」が添付された非常に単純な GTK メニューです。

最初の試行は、scroll_test CB 内で追加のスクロール イベントを発行することでした。g_signal_emit_by_name(widget,"scroll-event",widget,event,NULL) を使用すると、新しいイベント構造体を新しいタイムスタンプで設定し、->send_event を TRUE に設定しても、結果が混乱していました。たぶん、Parms にエラーがあります。

2 番目の試みは、gtk_adjustment_new を作成し、それを gtk_widget_set_scroll_adjustments でメニューに添付して、gtk_adjustment_set_step_increment を変更することでした。変化なし。

4

0 に答える 0