frame.c

来自「开发linux应用-用gtk+和gdk开发linux图形用户界面应用--的实例」· C语言 代码 · 共 143 行

C
143
字号
/* * Frame.c * */#include "gtk/gtk.h"#include <stdlib.h>#include <time.h>#define max(x,y) (((x)>(y))?(x):(y))#define min(x,y) (((x)<(y))?(x):(y))/* * CloseAppWindow * * The window is closing down, end the gtk loop */gint CloseAppWindow (GtkWidget *widget, gpointer *data){    gtk_main_quit ();    return (FALSE);}/* * main * * Program begins here */int main (int argc, char *argv[]){    GtkWidget *window;    GdkBitmap *mask;    GtkStyle *style;    GtkWidget *table;              GtkWidget *frame;              /* --- GTK initialization --- */    gtk_init (&argc, &argv);    /* --- Create the top window --- */    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);    /* --- Give the window a title. --- */    gtk_window_set_title (GTK_WINDOW (window), "Frame example");    /* --- Set the window size. --- */    gtk_widget_set_usize (window, 250, 250);    /* --- You should always remember to connect the delete_event     *     to the main window.     */    gtk_signal_connect (GTK_OBJECT (window), "delete_event",                        GTK_SIGNAL_FUNC (CloseAppWindow), NULL);    /* --- Create a 10x10 table for the buttons --- */    table = gtk_table_new (2, 2, TRUE);     /*     * --- Create the start button with smilely face on it     */    frame = gtk_frame_new ("In - right");    gtk_widget_show (frame);    gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);    gtk_frame_set_label_align (GTK_FRAME (frame), .5, 0);    /* --- Put the button in the table in the right place. --- */    gtk_table_attach (GTK_TABLE (table), frame,                       0, 1,                       0, 1,                       GTK_FILL | GTK_EXPAND,                       GTK_FILL | GTK_EXPAND,                       7, 0);    /*     * --- Create the start button with smilely face on it     */    frame = gtk_frame_new ("out - left");    gtk_widget_show (frame);    gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);    gtk_frame_set_label_align (GTK_FRAME (frame), 0, 0);    /* --- Put the button in the table in the right place. --- */    gtk_table_attach (GTK_TABLE (table), frame,                       1, 2,                       0, 1,                       GTK_FILL | GTK_EXPAND,                       GTK_FILL | GTK_EXPAND,                       3, 0);    /*     * --- Create the start button with smilely face on it     */    frame = gtk_frame_new ("etched out - bottom");    gtk_widget_show (frame);    gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_ETCHED_OUT);    gtk_frame_set_label_align (GTK_FRAME (frame), 0, 1);    /* --- Put the button in the table in the right place. --- */    gtk_table_attach (GTK_TABLE (table), frame,                       0, 1,                       1, 2,                       GTK_FILL | GTK_EXPAND,                       GTK_FILL | GTK_EXPAND,                       3, 0);    /*     * --- Create the start button with smilely face on it     */    frame = gtk_frame_new ("etched in - bottom");    gtk_widget_show (frame);    gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);    gtk_frame_set_label_align (GTK_FRAME (frame), 0, 1);    /* --- Put the button in the table in the right place. --- */    gtk_table_attach (GTK_TABLE (table), frame,                       1, 2,                       1, 2,                       GTK_FILL | GTK_EXPAND,                       GTK_FILL | GTK_EXPAND,                       3, 0);    /*     * --- Bombs left on the page is a label     */     /* --- Make them visible --- */    gtk_container_add (GTK_CONTAINER (window), table);    gtk_widget_show (table);    gtk_widget_show (window);    gtk_main ();    exit (0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?