Menu Bars And Menus GTK menu bars are complicated creatures. To have a menu bar with menus, you first create a gtk_menu_bar (gtkmenubar.h), place a set of gtk_menu_item elements (gtkmenuitem.h) in it, attach a gtk_menu (gtkmenu.h) to each of them, and finally fill those menus with gtk_menu_item elements: /* create a new menu bar. make it visible. */ GtkWidget* menu_bar = gtk_menu_bar_new(); gtk_widget_show(menu_bar); /* create a 'file' menu for our menu bar. */ GtkWidget* menu_file = gtk_menu_new(); /* create a 'quit' menu item, give it an 'activate' callback. */ GtkWidget* menu_file_quit = gtk_menu_item_new_with_label("Quit"); gtk_widget_show(menu_file_quit); gtk_signal_connect_object(GTK_OBJECT(menu_file_quit), "activate", GTK_SIGNAL_FUNC(exit_cb), NULL); /* add the 'quit' option to the 'file' menu. */ gtk_menu_append(GTK_MENU(menu_file), menu_file_quit);