⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 themes.c

📁 《Linux程序设计权威指南》源代码
💻 C
字号:
	/* File: menu.c */	#include <stdio.h>	#include <gtk/gtk.h>	#include <unistd.h>		static void menuitem_response( gchar *string )	{		printf ("%s\n", string);	}	int main( int   argc, char *argv[] )	{		GtkWidget *window;		GtkWidget *menu, *menuh;		GtkWidget *menu_bar;		GtkWidget *root_menu, *help_menu;		GtkWidget *menu_items;		GtkWidget *vbox;		GtkWidget *button;		char buf[128];		char path[256];		int i;		if(argc < 2) {			printf("usage: ./themes [theme directory]\n");			printf("  e.g: ./themes Stone\n");			exit(1);		}		//初始化		gtk_set_locale();		gtk_init (&argc, &argv);		//使用 Themes		sprintf(path, "%s/%s/gtk/gtkrc", 			get_current_dir_name(), argv[1]);		gtk_rc_parse(path);		//建立根窗口		window = gtk_window_new (GTK_WINDOW_TOPLEVEL);		gtk_widget_set_usize (GTK_WIDGET (window), 320, 200);		gtk_window_set_title (GTK_WINDOW (window), "GTK Themes");		gtk_signal_connect (GTK_OBJECT (window), "delete_event",			(GtkSignalFunc) gtk_main_quit, NULL);		//建立"文件"菜单, 不要使用 gtk_widget_show()		menu = gtk_menu_new ();		//建立菜单项		menu_items = gtk_menu_item_new_with_label("打开");		//加入到菜单中		gtk_menu_append (GTK_MENU(menu), menu_items);		gtk_signal_connect_object (GTK_OBJECT (menu_items), "activate",			GTK_SIGNAL_FUNC (menuitem_response), 			(gpointer) g_strdup ("打开"));		gtk_widget_show (menu_items);		//建立菜单项		menu_items = gtk_menu_item_new_with_label("保存");		//加入到菜单中		gtk_menu_append (GTK_MENU(menu), menu_items);		gtk_signal_connect_object (GTK_OBJECT (menu_items), "activate",			GTK_SIGNAL_FUNC (menuitem_response), 			(gpointer) g_strdup ("保存"));		gtk_widget_show (menu_items);		//建立分隔线		menu_items = gtk_menu_item_new();		gtk_menu_append (GTK_MENU(menu), menu_items);		gtk_widget_show(menu_items);		//建立菜单项		menu_items = gtk_menu_item_new_with_label("退出");		//加入到菜单中		gtk_menu_append (GTK_MENU(menu), menu_items);		gtk_signal_connect_object (GTK_OBJECT (menu_items), "activate",			GTK_SIGNAL_FUNC (menuitem_response), 			(gpointer) g_strdup ("退出"));		gtk_widget_show (menu_items);		//建立文件菜单		root_menu = gtk_menu_item_new_with_label("文件");		gtk_widget_show (root_menu);		//把它和菜单联系起来		gtk_menu_item_set_submenu (GTK_MENU_ITEM (root_menu), menu);		//建立"帮助"菜单, 不要使用 gtk_widget_show()		menuh = gtk_menu_new ();		//建立帮助菜单		help_menu = gtk_menu_item_new_with_label("帮助");		gtk_widget_show (help_menu);		//把它和菜单联系起来		gtk_menu_item_set_submenu (GTK_MENU_ITEM (help_menu), menuh);                //建立菜单项                menu_items = gtk_menu_item_new_with_label("关于...");                //加入到菜单中                gtk_menu_append (GTK_MENU(menuh), menu_items);                gtk_signal_connect_object (GTK_OBJECT (menu_items), "activate",                        GTK_SIGNAL_FUNC (menuitem_response),                        (gpointer) g_strdup ("关于"));                gtk_widget_show (menu_items);		gtk_menu_item_set_submenu (GTK_MENU_ITEM (help_menu), menuh);		vbox = gtk_vbox_new (FALSE, 0);		gtk_container_add (GTK_CONTAINER (window), vbox);		gtk_widget_show (vbox);		//建立菜单条		menu_bar = gtk_menu_bar_new ();		gtk_box_pack_start (GTK_BOX (vbox), menu_bar, FALSE, FALSE, 2);		gtk_widget_show (menu_bar);		//把菜单加入到菜单条中		gtk_menu_bar_append (GTK_MENU_BAR (menu_bar), root_menu);		gtk_menu_item_right_justify(GTK_MENU_ITEM(help_menu));					gtk_menu_bar_append (GTK_MENU_BAR (menu_bar), help_menu);		//建立按钮, 用来弹出菜单		button = gtk_check_button_new_with_label ("按钮");		gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 2);		gtk_widget_show (button);		button = gtk_button_new_with_label ("另一个按钮");		gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 2);		gtk_widget_show (button);		gtk_widget_show (window);		gtk_main ();		return(0);	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -