发新话题
打印

GTK中窗口的最大化,最小化...#include <stdio.h>信号的捕捉

GTK中窗口的最大化,最小化信号的捕捉

[CODE]
#include <stdio.h>
#include <gtk/gtk.h>
void callback(gpointer data)
{
        GtkWidget *window=GTK_WIDGET(data);
        switch(gdk_window_get_state(GDK_WINDOW(window->window)))
        {
                case 1<<0/* GDK_WINDOW_STATE_WITHDRAWN*/: printf("GDK_WINDOW_STATE_WITHDRAWN:the window is not shown.\n");break;
                case 1<<1/* GDK_WINDOW_STATE_ICONIFIED*/: printf("GDK_WINDOW_STATE_ICONIFIED:the window is minimized.\n");break;
                case 1<<2/* GDK_WINDOW_STATE_MAXIMIZED*/: printf("GDK_WINDOW_STATE_MAXIMIZED:the window is maximized.\n");break;
                case 1<<3/* GDK_WINDOW_STATE_STICKY*/: printf("GDK_WINDOW_STATE_STICKY:the window is sticky.\n");break;
                case 1<<4/* GDK_WINDOW_STATE_FULLSCREEN*/: printf("GDK_WINDOW_STATE_FULLSCREEN:the window is maximized without decorations.\n");break;
                case 1<<5/* GDK_WINDOW_STATE_ABOVE*/: printf("GDK_WINDOW_STATE_ABOVE:the window is kept above other windows. \n");break;
                case 1<<6/* GDK_WINDOW_STATE_BELOW*/: printf("GDK_WINDOW_STATE_BELOW:the window is kept below other windows. \n");break;
                default:break;
        }
}
int main(int argc,char *argv[])
{
        gtk_init(&argc,&argv);
        GtkWidget *window;
        window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_widget_show(window);
        g_signal_connect_swapped(window,"window_state_event",
[center]G_CALLBACK(callback),window);[/center]
        gtk_main();
        return 1;
}[/CODE]      
若不是因为风,雨不会美丽!

TOP

经典经典,可以自己写了      

TOP

在gtk中应用glade设计界面

各位前辈,我在gtk中应用glade设计界面,但是有以下几方面的问题。
1,如果想在不同的window界面之间进行切换,如何在进入第二个界面时退出上一个界面。
2,可不可以设置一个主界面(一般会有公用的按钮菜单),让其他界面附着在主界面上?如果可以有主界面,一般用什么构件?
3,如果使用notebook时,如果用按钮去实现原本利用label进行的切换各个界面。
4,为什么我试图进行切换时总是程序会退出?
希望各位前辈不吝赐教!多谢!      

TOP

发新话题