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;
}
GtkButton 透明按钮
最新推荐文章于 2024-05-09 08:30:00 发布