当前位置:  技术问答>linux和unix

关于GTK的继承

    来源: 互联网  发布时间:2016-08-26

    本文导语:      我想做一个窗口类,在这个类里,把border涂成蓝色,比如border的宽度是10,就把窗口的上下左右都画成蓝色,然后其他窗口继承这个类,就不需要再画边框了,能实现么?我现在是这么做的,在这个窗口类里重...

    我想做一个窗口类,在这个类里,把border涂成蓝色,比如border的宽度是10,就把窗口的上下左右都画成蓝色,然后其他窗口继承这个类,就不需要再画边框了,能实现么?我现在是这么做的,在这个窗口类里重写了expose_event,其他窗口继承的时候,边框是画上了,但是按钮等控件都显示不出来了,都被覆盖掉了

|
你代码是怎么写的,直接继承窗体?

也许你需要自己在调用一下 容器的 expose事件,给所有的子控件发送expose消息。你看一下文档的最开始中的“The GTK+ Drawing Model”  http://library.gnome.org/devel/gtk/stable/chap-drawing-model.html


默认的expose实现是这样的,

static gint
gtk_window_expose (GtkWidget      *widget,
   GdkEventExpose *event)
{
  if (!gtk_widget_get_app_paintable (widget))
    gtk_paint_flat_box (widget->style, widget->window, GTK_STATE_NORMAL, 
                        GTK_SHADOW_NONE, event->area, widget, "base", 0, 0, -1, -1);

  if (GTK_WIDGET_CLASS (gtk_window_parent_class)->expose_event)
    return GTK_WIDGET_CLASS (gtk_window_parent_class)->expose_event (widget, event);

  return FALSE;
}


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于gtk的目录问题,我的目录是 gtk-2.0/gtk/gtk.h ??
  • Redhat linux9.0 下Gtk+编程的#include <gtk/gtk.h>问题
  • 【重要】gtk+ 编译gtk+的问题,不同于一般gtk的搭建--1000分,问题解决了,开号给分,决不食言!大家都来看看
  • gtk 和 gtk+ 有什么区别?
  • centos5.4中安装gtk时,yum库最新版是gtk2.10,如何更新yum库安装gtk2.12
  • 我使用GTK+2.0写界面程序时,怎么找不到gtk.h文件?
  • GTK+ gtk_tree问题
  • gtk for win 和 gtk for linux 下的程序问题?
  • GTK窗口前端显示及GTK窗口闪烁
  • 用GTK开发的程序如何在没有GTK动态连接库的Linux里运行?
  • 【GTK】GTK中有没有这个widget?
  • 我想学习GTK+2.0,请问如何准备GTK编程环境???
  • [GTK] gtk最小化问题与恢复问题
  • 【gtk+】初学gtk+,请教一个问题
  • gtk for win 和 gtk for linux 下的程序问题? iis7站长之家
  • 本人刚学gtk编程,留下油箱,欢迎喜欢gtk编程的朋友和我交流啊!!!!
  • 大家好,想知道gtk与gtk+有什么区别?
  • 关于GTK中gtk_widget_hide()的问题
  • gtk编程问题,如何在一个线程中向gtk控件发送一个expose_event消息
  • gtk中如何获取gtk_text_view中的输入内容?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3