2016-07-29 29 views
-1

GUI用にC言語でGTK + 2を使用しています。自分のコードに10x10のボタンのテーブルがあります。コードを実行すると、最初のボタン(button[0][0])がデフォルトでフォーカスされます。だから、どうすればこのボタンがデフォルトでフォーカスされるのを防ぐことができますか?ボタンがデフォルトでフォーカスされないようにする方法

コード:ウィンドウを表示すると

table = gtk_table_new(10, 10, TRUE); 

for (int row=0; row<10; row++) { 
    for (int col=0; col<10; col++) { 
     button[row][col] = gtk_button_new_with_label(" "); 
     g_signal_connect(G_OBJECT(button[row][col]), "button-release-event", G_CALLBACK(buttonClicked), NULL); 
     gtk_button_set_focus_on_click(GTK_BUTTON(button[row][col]), FALSE); 
     gtk_table_attach_defaults(GTK_TABLE(table), button[row][col], col, col+1, row, row+1); 
    } 
} 

答えて

0

、あなたの代わりに専念したいウィジェットをgtk_widget_grab_focus()を呼び出します。

グリッドのボタンにまったくフォーカスできないようにするには、gtk_widget_set_can_focus()を呼び出します。

関連する問題