<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 筆記本構件(The NoteBook Widget) 筆記本構件(The NoteBook Widget)是互相重疊的頁面集合,每一頁都包含不同的信息,且一次只有一個頁面是可見的。該構件在GUI(圖形用戶接口)編程中很常用。要顯示大量的相似信息,同時把它們分別顯示時,使用這種構件是一個很好的方法。具體看下面的代碼 ![](https://box.kancloud.cn/2016-08-24_57bd779a1c305.jpg) 具體代碼如下: ~~~ /*File:notebook.c *Date:2014-0309 *Author:sjin *Mail:413977243@qq.com */ #include <gtk/gtk.h> #include <stdio.h> /*這個函數旋轉頁標簽的位置*/ void rotate_book(GtkButton *button,GtkNotebook *notebook) { gtk_notebook_set_tab_pos(notebook,(notebook->tab_pos + 1) % 4); } /*隱藏或顯示頁標簽和邊框*/ void tabsborder_book(GtkButton *button,GtkNotebook *notebook) { gint tval = FALSE; gint bval = FALSE; if(notebook->show_tabs == 0){ tval = TRUE; } if(notebook->show_border == 0){ bval = TRUE; } /*顯示或者隱藏頁標簽*/ gtk_notebook_set_show_tabs(notebook,tval); /*顯示或者隱藏邊框*/ gtk_notebook_set_show_border(notebook,bval); } /*從筆記本構件上刪除頁面*/ void remove_book(GtkButton *button,GtkNotebook *notebook) { gint page; page = gtk_notebook_get_current_page(notebook); gtk_notebook_remove_page(notebook,page); /*********** * 必須刷新構件-----這會迫使構件重繪自身*/ gtk_widget_draw(GTK_WIDGET(notebook),NULL); } void delete(GtkWidget *widget,GtkWidget *event,gpointer data) { gtk_main_quit(); } int main(int argc, char*argv[]) { GtkWidget *window; GtkWidget *button; GtkWidget *table; GtkWidget *notebook; GtkWidget *frame; GtkWidget *label; GtkWidget *checkbutton; int i; char bufferf[32]; char bufferl[32]; //初始化GTK gtk_init(&argc,&argv); //創建最上層主窗口 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); //連接信號"delete_event",使得窗口關閉時發生 g_signal_connect(G_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete),NULL); //設置窗口標題 gtk_window_set_title(GTK_WINDOW(window),"notebook 練習"); //設定窗口的默認寬高 //gtk_window_set_default_size(GTK_WINDOW(window),200,300); //設定窗口的位置,讓窗口總在最前端 gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); //設定容器邊框的寬度 gtk_container_set_border_width(GTK_CONTAINER(window),20); /*表組裝,創建表*/ table = gtk_table_new(3,6,FALSE); gtk_container_add(GTK_CONTAINER(window),table); /*創建一個筆記本構件,將標簽頁放在頂部*/ notebook = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook),GTK_POS_TOP); gtk_table_attach_defaults(GTK_TABLE(table),notebook,0,6,0,1); gtk_widget_show(notebook); /*向筆記本構件中插入標簽頁*/ for(i = 0; i < 5; i++){ sprintf(bufferf,"筆記本構件框架 %d",i + 1); sprintf(bufferl,"標簽頁 %d",i + 1); frame = gtk_frame_new(bufferf); gtk_container_set_border_width(GTK_CONTAINER(frame),10); gtk_widget_set_usize(frame,100,75); gtk_widget_show(frame); label = gtk_label_new(bufferf); gtk_container_add(GTK_CONTAINER(frame),label); gtk_widget_show(label); label = gtk_label_new(bufferl); gtk_notebook_prepend_page(GTK_NOTEBOOK(notebook),frame,label); } /*設置起始頁為第四頁*/ gtk_notebook_set_page(GTK_NOTEBOOK(notebook),3); /*創建一排按鈕*/ /*關閉*/ button = gtk_button_new_with_label("關閉"); gtk_signal_connect_object(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(delete),NULL); gtk_table_attach_defaults(GTK_TABLE(table),button,0,1,1,2); gtk_widget_show(button); /*下一頁*/ button = gtk_button_new_with_label("下一頁"); gtk_signal_connect_object(GTK_OBJECT(button),"clicked",G_CALLBACK(gtk_notebook_next_page),GTK_NOTEBOOK(notebook)); gtk_table_attach_defaults(GTK_TABLE(table),button,1,2,1,2); gtk_widget_show(button); /*上一頁*/ button = gtk_button_new_with_label("上一頁"); gtk_signal_connect_object(GTK_OBJECT(button),"clicked",G_CALLBACK(gtk_notebook_prev_page),GTK_NOTEBOOK(notebook)); gtk_table_attach_defaults(GTK_TABLE(table),button,2,3,1,2); gtk_widget_show(button); /*標簽頁位置*/ button = gtk_button_new_with_label("標簽頁位置"); gtk_signal_connect(GTK_OBJECT(button),"clicked",(GtkSignalFunc)rotate_book,GTK_NOTEBOOK(notebook)); gtk_table_attach_defaults(GTK_TABLE(table),button,3,4,1,2); gtk_widget_show(button); /*隱藏頁標簽和邊框*/ button = gtk_button_new_with_label("頁標簽和邊框ON、OFF"); gtk_signal_connect(GTK_OBJECT(button),"clicked",(GtkSignalFunc)tabsborder_book,GTK_NOTEBOOK(notebook)); gtk_table_attach_defaults(GTK_TABLE(table),button,4,5,1,2); gtk_widget_show(button); /*刪除*/ button = gtk_button_new_with_label("刪除"); gtk_signal_connect(GTK_OBJECT(button),"clicked",(GtkSignalFunc)remove_book,GTK_NOTEBOOK(notebook)); gtk_table_attach_defaults(GTK_TABLE(table),button,5,6,1,2); gtk_widget_show(button); gtk_widget_show(table); gtk_widget_show_all(window); gtk_main(); return FALSE; } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看