ポップアップメニュー2010年2月11日 | |
![]() ファイル使い方ウインドウ上で右クリックすると、ポップアップメニューが表示されます。 内容ポップアップメニューを表示します。メニューの作り方は、普通のメニューと同じです。メニューバーがいらないだけです。
menu = gtk_menu_new();
miSeparator = gtk_separator_menu_item_new();
gtk_menu_shell_append(GTK_MENU_SHELL(menu), miSeparator);
miQuit = gtk_menu_item_new_with_label("Quit");
gtk_menu_shell_append(GTK_MENU_SHELL(menu), miQuit);
g_signal_connect(miQuit, "activate", G_CALLBACK(gtk_main_quit), NULL);
マウスの右クリックでメニューが表示されるように、"button-press-event" を拾います。 g_signal_connect(win, "button-press-event", G_CALLBACK(buttonPress), menu); 最後の引数でメニューを渡しています。 コールバック関数で以下のようにします。
gboolean buttonPress(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu)
{
if(event->button == 3){
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
event->button, event->time);
return TRUE;
}
return FALSE;
}
返り値として TRUE を返していますが、「処理は行ったので、これ以上なにもしなくていいよ」という意味です。 | |
| PENGUINITIS | |