免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3405 | 回复: 4
打印 上一主题 下一主题

怎样设置GtkEventBox的边框的颜色阿 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-28 15:12 |只看该作者 |倒序浏览
我在Eventbox中有个GtkImage,我设置了BOX的边框宽度,正个程序背景是黑色的,我想把图像的边框背景为白色,我该如何去设置

论坛徽章:
0
2 [报告]
发表于 2008-09-09 09:07 |只看该作者
在EXPOSE事件中直接用cairo来绘制

//FIXME:给控件的旁边画上一条线
void draw_border_with_gc(GtkWidget *widget,const char *color)
{
        GdkGC *gc;
        GdkColor gcolor;
        GdkRectangle rect;
        GtkAllocation *alloc;

        gc = gdk_gc_new(widget->window);
        gdk_color_parse(color,&gcolor);
        gdk_gc_set_rgb_fg_color(gc,&gcolor);

        alloc = &widget->allocation;
        gdk_draw_rectangle(widget->window,gc,FALSE,
                        alloc->x,alloc->y,alloc->width,alloc->height);

        g_object_unref(gc);
}

[ 本帖最后由 chenzhixin 于 2008-9-9 09:08 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-09-11 13:52 |只看该作者

回复 #1 chenzhixin 的帖子

对那个event_box gtk_widget_modify_bg?

论坛徽章:
0
4 [报告]
发表于 2008-09-16 09:00 |只看该作者
没用了,我做过的

论坛徽章:
0
5 [报告]
发表于 2008-09-16 09:35 |只看该作者
原帖由 chenzhixin 于 2008-9-16 09:00 发表
没用了,我做过的


奇怪,道理上应该可以,是不是你的主题的问题。

你可以试试,new了event_box后,gtk_widget_set_app_paintable(event_box, TRUE);
然后g_signal_connect(event_box, "expose-event", on_expose, NULL);
在on_expose里自己用cairo改颜色。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP