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;  }