GtkButton 透明按钮
来源:互联网 发布:淘宝网中老年人女裤 编辑:程序博客网 时间:2024/05/16 05:38
int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *button; GtkWidget *hbox; GtkWidget *eventbox; GdkGC *gc; GdkColormap *colormap; GdkBitmap *window_shape_bitmap; GdkColor black; GdkColor white; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "圆形窗口测试程序!"); gtk_window_set_default_size(GTK_WINDOW(window), 400, 300); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); hbox = gtk_hbox_new(FALSE, 10); gtk_container_add(GTK_CONTAINER(window), hbox); gtk_widget_show(hbox); eventbox = gtk_event_box_new(); gtk_box_pack_start_defaults(GTK_BOX(hbox), eventbox); gtk_widget_show(eventbox); button = gtk_button_new_with_label("Hello,World!你好,世界!"); gtk_container_add(GTK_CONTAINER(eventbox), button); gtk_widget_show(button); GtkWidget *button2 = gtk_button_new_with_label("Hello,World!你好,世界!"); gtk_box_pack_start_defaults(GTK_BOX(hbox), button2); gtk_widget_show(button2); gtk_widget_show_all(window); colormap = gdk_colormap_get_system (); gdk_color_black (colormap, & black); gdk_color_white (colormap, & white); window_shape_bitmap = (GdkBitmap *) gdk_pixmap_new (NULL, 400, 300, 1); gc = gdk_gc_new (window_shape_bitmap); gdk_gc_set_foreground (gc, & black); gdk_gc_set_background (gc, & white); gdk_draw_rectangle (window_shape_bitmap, gc, TRUE, 0, 0, 400, 300); gdk_gc_set_foreground (gc, & white); gdk_gc_set_background (gc, & black); gdk_draw_arc(window_shape_bitmap, gc,TRUE, 0, 0, 400, 300, 0, 360*64); gtk_widget_shape_combine_mask(eventbox, window_shape_bitmap, 0, 0); gtk_main(); return 0; }