http://hi.baidu.com/netadabiao/blog/item/799d2cd9abd7412e11df9b37.html
/*示例开始—独轮手推车wheelbarrow.c*/
#include<gtk/gtk.h>
/*XPM*/
staticchar*WheelbarrowFull_xpm[]={
"4848641",
"cNone",
".c#DF7DCF3CC71B",
"Xc#965875D669A6",
"oc#71C671C671C6",
"Oc#A699A289A699",
"+c#965892489658",
"@c#8E38410330C2",
"#c#D75C7DF769A6",
"$c#F7DECF3CC71B",
"%c#96588A288E38",
"&c#A69992489E79",
"*c#8E3886178E38",
"=c#104008200820",
"-c#596510401040",
";c#C71B30C230C2",
":c#C71B9A699658",
">c#618561856185",
",c#20811C712081",
"<c#104000000000",
"1c#861720812081",
"2c#DF7D4D344103",
"3c#79E769A671C6",
"4c#861782078617",
"5c#41033CF34103",
"6c#000000000000",
"7c#49241C711040",
"8c#492445144924",
"9c#082008200820",
"0c#69A618611861",
"qc#B6DA71C65144",
"wc#410330C238E3",
"ec#CF3CBAEAB6DA",
"rc#71C6451430C2",
"tc#EFBEDB6CD75C",
"yc#28A208200820",
"uc#186110401040",
"ic#596528A21861",
"pc#71C661855965",
"ac#A69996589658",
"sc#30C228A230C2",
"dc#BEFBA289AEBA",
"fc#596545145144",
"gc#30C230C230C2",
"hc#8E3882078617",
"jc#208118612081",
"kc#38E30C300820",
"lc#30C2208128A2",
"zc#38E328A238E3",
"xc#514438E34924",
"cc#618555555965",
"vc#30C2208130C2",
"bc#38E328A230C2",
"nc#28A228A228A2",
"mc#41032CB228A2",
"Mc#104010401040",
"Nc#492438E34103",
"Bc#28A2208128A2",
"Vc#A699596538E3",
"Cc#30C21C711040",
"Zc#30C218611040",
"Ac#965865955965",
"Sc#618534D32081",
"Dc#38E31C711040",
"Fc#082000000820",
"",
".XoO",
"+@#$%o&",
"*=-;#::o+",
">,<12#:34",
"45671#:X3",
"+89<02qwo",
"e*>,67;ro",
"ty>459@>+&&",
"$2u+><ipas8*",
"%$;=**3:.Xa.dfg>",
"Oh$;ya*3d.a8j,Xe.d3g8+",
"Oh$;ka*3d$a8lz,,xxc:.e3g54",
"Oh$;kO*pd$%svbzz,sxxxxfX..&wn>",
"Oh$@mO*3dthwlsslszjzxxxxxxx3:td8M4",
"Oh$@g&*3d$XNlvvvlllm,mNwxxxxxxxfa.:,B*",
"Oh$@,Od.czlllllzlmmqV@V#V@fxxxxxxxf:%j5&",
"Oh$1hd5lllslllCCZrV#r#:#2AxxxxxxxxxcdwM*",
"OXq6c.%8vvvllZZiqqApA:mq:Xxcpcxxxxxfdc9*",
"2r<6gde3bllZZrVi7S@SV77A::qApxxxxxxfdcM",
":,q-6MN.dfmZZrrSS:#riirDSAX@Af5xxxxxfevo",
"+A26jguXtAZZZC7iDiCCrVVii7Cmmmxxxxxx%3g",
"*#16jszN..3DZZZZrCVSA2rZrV7Dmmwxxxx&en",
"p2yFvzssXe:fCZZCiiD7iiZDiDSSZwwxx8e*>",
"OA1<jzxwwc:$d%NDZZZZCCCZCCZZCmxxfd.B",
"3206Bwxxszx%et.eaAp77m77mmmf3&eeeg*",
"@26MvzxNzvlbwfpdettttttttttt.c,n&",
"*;16=lsNwwNwgsvslbwwvccc3pcfu<o",
"p;<69BvwwsszslllbBlllllllu<5+",
"OS0y6FBlvvvzvzss,u=Blllj=54",
"c1-699Blvlllllu7k96MMMg4",
"*10y8n6FjvllllB<166668",
"S-kg+>666<M<996-y6n<8*",
"p71=4m69996kD8Z-66698&&",
"&i0ycm6n4ogk17,0<6666g",
"N-k-<>>=01-kuu666>",
",6ky&&46-10ul,66,",
"Ou0<>o66y<ulw<66&",
"*kk5>66By7=xu664",
"<<M4466lj<Mxu66o",
"*>>+66uv,zN666*",
"566,xxj669",
"4666FF666>",
">966666M",
"oM6668+",
"*4",
"",
""};
/*调用这个函数时(通过delete_event信号),终止应用程序*/
voidclose_application(GtkWidget*widget,
GdkEvent*event,gpointerdata)
{
gtk_main_quit();
}
intmain(intargc,char*argv[])
{
/*构件的存储类型是GtkWidget*/
GtkWidget*window,*pixmap,*fixed;
GdkPixmap*gdk_pixmap;
GdkBitmap*mask;
GtkStyle*style;
GdkGC*gc;
/*创建主窗口,为delete_event信号设置回调函数以终止应用程序。
*注意,主窗口没有标题条,因为我们让它是一个弹出窗口*/
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_POPUP);
gtk_signal_connect(GTK_OBJECT(window),"delete_event",
GTK_SIGNAL_FUNC(close_application),NULL);
gtk_widget_show(window);
/*下面创建pixmap图片和pixmap构件*/
style=gtk_widget_get_default_style();
gc=style->black_gc;
gdk_pixmap=gdk_pixmap_create_from_xpm_d(window->window,&mask,
&style->bg[GTK_STATE_NORMAL],
WheelbarrowFull_xpm);
pixmap=gtk_pixmap_new(gdk_pixmap,mask);
gtk_widget_show(pixmap);
/*要显示pixmap图片,我们将pixmap构件放在GtkFixed构件上*/
fixed=gtk_fixed_new();
gtk_widget_set_usize(fixed,200,200);
gtk_fixed_put(GTK_FIXED(fixed),pixmap,0,0);
gtk_container_add(GTK_CONTAINER(window),fixed);
gtk_widget_show(fixed);
/*下面的函数屏蔽了除图片本身以外的所有东西*/
gtk_widget_shape_combine_mask(window,mask,0,0);
/*显示窗口*/
gtk_widget_set_uposition(window,20,400);
gtk_widget_show(window);
gtk_main();
return(0);
}