📄 ex21_6.c
字号:
/*filename:ex21_6.c*/
#include <gtk/gtk.h>
gint delete_handle(GtkWidget *widget,gpointer gdata)
{
g_print("application quitting----\n");
gtk_main_quit();
return FALSE;
}
GtkWidget *create_box_from_xpm_label( GtkWidget *parent,
gchar *xpm_filename,
gchar *label_text )
{
GtkWidget *box1;
GtkWidget *label;
GtkWidget *pixmapwid;
GdkPixmap *pixmap;
GdkBitmap *mask;
GtkStyle *style;
box1 = gtk_hbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (box1), 0);
style = gtk_widget_get_style(parent);
pixmap = gdk_pixmap_create_from_xpm (parent->window, &mask,
&style->bg[GTK_STATE_NORMAL],
xpm_filename);
pixmapwid = gtk_pixmap_new (pixmap, mask);
label = gtk_label_new (label_text);
gtk_box_pack_start (GTK_BOX (box1),
pixmapwid, FALSE, FALSE, 3);
gtk_box_pack_start (GTK_BOX (box1), label, FALSE, FALSE, 3);
gtk_widget_show(pixmapwid);
gtk_widget_show(label);
return(box1);
}
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *box;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),"Test Pixmap Button");
gtk_container_border_width(GTK_CONTAINER(window),10);
gtk_signal_connect(GTK_OBJECT(window),"delete_event",
GTK_SIGNAL_FUNC(delete_handle),NULL);
gtk_widget_realize(window);
button=gtk_button_new();
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show(button);
box=create_box_from_xpm_label(window,"info.xpm","My Cool Button");
gtk_container_add (GTK_CONTAINER (button), box);
gtk_widget_show(box);
gtk_widget_show(window);
gtk_main ();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -