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

📄 gtkpixmap.c

📁 这些GTK+程序都是基于常用的API来实现熟悉这些API为目的
💻 C
字号:
/* * * Sample Code for Gtk+ Programming in C, 1st Edition, Prentice Hall * * Copyright 2000 - 2002 Syd Logan, All Rights Reserved * * This code is distributed without warranty. You are free to use this * code for any purpose, however, if this code is republished or * redistributed in its original form, as hardcopy or electronically, * then you must include this copyright notice along with the code. * * Questions or comments regarding this code or any bugs it contains can * be directed to the author via e-mail at slogan@cts.com **/#include <gtk/gtk.h>GtkWidget *pixmap1, *pixmap2;static voidSwitchCallback(GtkWidget *widget, GtkWidget *dialog_window){	GdkPixmap *gdkPixmap1, *gdkPixmap2;	GdkBitmap *gdkBitmap1, *gdkBitmap2;	static int makeSensitive = 0;	/* retrieve current values */	gtk_pixmap_get(GTK_PIXMAP(pixmap1), &gdkPixmap1, &gdkBitmap1);	gtk_pixmap_get(GTK_PIXMAP(pixmap2), &gdkPixmap2, &gdkBitmap2);	/* and swap them */	gtk_pixmap_set(GTK_PIXMAP(pixmap1), gdkPixmap2, gdkBitmap2);	gtk_pixmap_set(GTK_PIXMAP(pixmap2), gdkPixmap1, gdkBitmap1);	if ( makeSensitive == 0 ) {		makeSensitive = 1;		gtk_widget_set_sensitive( pixmap1, FALSE );		gtk_widget_set_sensitive( pixmap2, FALSE );	} else {		makeSensitive = 0;		gtk_widget_set_sensitive( pixmap1, TRUE );		gtk_widget_set_sensitive( pixmap2, TRUE );	}}static GtkWidget *new_pixmap (char *file, GdkWindow *window, GdkColor *background){ 	GdkPixmap *pmap; 	GdkBitmap *mask;	GtkWidget *wpmap;	pmap = gdk_pixmap_create_from_xpm(window, &mask, background, file); 	wpmap = gtk_pixmap_new(pmap, mask);	gtk_pixmap_set_build_insensitive(GTK_PIXMAP(wpmap), 1);	return( wpmap );}main( int argc, char *argv[] ){	GtkWidget *button, *hbox, *dialog_window;	gtk_init( &argc, &argv );	dialog_window = gtk_dialog_new(); 	gtk_window_position (GTK_WINDOW (dialog_window), GTK_WIN_POS_MOUSE);	gtk_widget_show( dialog_window );	hbox = gtk_hbox_new (FALSE, 0);	gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog_window)->vbox), 		hbox);	pixmap1 = new_pixmap ("test1.xpm", dialog_window->window, 		&dialog_window->style->bg[GTK_STATE_NORMAL]);  gtk_box_pack_start (GTK_BOX (hbox), pixmap1, TRUE, TRUE, 0);	pixmap2 = new_pixmap ("test2.xpm", dialog_window->window, 		&dialog_window->style->bg[GTK_STATE_NORMAL]);  gtk_box_pack_start (GTK_BOX (hbox), pixmap2, TRUE, TRUE, 0); 	button = gtk_button_new_with_label ("Switch Pixmaps"); 	gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 		button, TRUE, TRUE, 0); 	gtk_signal_connect (GTK_OBJECT (button), "clicked", 		GTK_SIGNAL_FUNC(SwitchCallback), dialog_window); 	gtk_widget_show_all (dialog_window);	gtk_main();}

⌨️ 快捷键说明

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