亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? a2845.html

?? GTK編程
?? HTML
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><HTML><HEAD><TITLE>示例程序代碼</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="GTK+ 2.0 教程"HREF="book1.html"><LINKREL="PREVIOUS"TITLE="GDK 事件類型"HREF="a2711.html"><LINKREL="NEXT"TITLE="GtkDial"HREF="x2859.html"></HEAD><BODYCLASS="APPENDIX"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">GTK+ 2.0 教程</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="a2711.html"ACCESSKEY="P">&#60;&#60;&#60; Previous</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="x2859.html"ACCESSKEY="N">Next &#62;&#62;&#62;</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="APPENDIX"><H1><ANAME="APP-CODEEXAMPLES">示例程序代碼</H1><P>下面是前面手冊中使用的一些示例程序代碼。</P><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="SEC-TICTACTOE">Tictactoe</H1><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN2850">tictactoe.h</H2><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">&#13;/* GTK - GIMP工具包 * 版權 (C) 1995-1997 Peter Mattis, Spencer Kimball 和 Josh MacDonald 所有 * * 本程序是自由軟件。你可以在自由軟件基金發布的 GNU GPL 的條款下重新分發 * 或修改它。GPL 可以使用版本 2 或(由你選擇)任何隨后的版本。 * * 本程序分發的目的是它可能對其他人有用,但不提供任何的擔保,包括隱含的 * 和適合特定用途的保證。請查閱GNU通用公共許可證獲得詳細的信息。 * * 你應該已經隨該軟件一起收到一份GNU通用公共許可。如果還沒有,請寫信給 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#ifndef __TICTACTOE_H__#define __TICTACTOE_H__#include &#60;gdk/gdk.h&#62;#include &#60;gtk/gtkvbox.h&#62;#ifdef __cplusplusextern "C" {#endif /* __cplusplus */#define TICTACTOE(obj)          GTK_CHECK_CAST (obj, tictactoe_get_type (), Tictactoe)#define TICTACTOE_CLASS(klass)  GTK_CHECK_CLASS_CAST (klass, tictactoe_get_type (), TictactoeClass)#define IS_TICTACTOE(obj)       GTK_CHECK_TYPE (obj, tictactoe_get_type ())typedef struct _Tictactoe       Tictactoe;typedef struct _TictactoeClass  TictactoeClass;struct _Tictactoe{  GtkVBox vbox;    GtkWidget *buttons[3][3];};struct _TictactoeClass{  GtkVBoxClass parent_class;  void (* tictactoe) (Tictactoe *ttt);};GtkType        tictactoe_get_type        (void);GtkWidget*     tictactoe_new             (void);void	       tictactoe_clear           (Tictactoe *ttt);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __TICTACTOE_H__ */&#13;</PRE></TD></TR></TABLE></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN2853">tictactoe.c</H2><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">&#13;/* GTK - GIMP工具包 * 版權 (C) 1995-1997 Peter Mattis, Spencer Kimball 和 Josh MacDonald 所有 * * 本程序是自由軟件。你可以在自由軟件基金發布的 GNU GPL 的條款下重新分發 * 或修改它。GPL 可以使用版本 2 或(由你選擇)任何隨后的版本。 * * 本程序分發的目的是它可能對其他人有用,但不提供任何的擔保,包括隱含的 * 和適合特定用途的保證。請查閱GNU通用公共許可證獲得詳細的信息。 * * 你應該已經隨該軟件一起收到一份GNU通用公共許可。如果還沒有,請寫信給 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#include "gtk/gtksignal.h"#include "gtk/gtktable.h"#include "gtk/gtktogglebutton.h"#include "tictactoe.h"enum {  TICTACTOE_SIGNAL,  LAST_SIGNAL};static void tictactoe_class_init          (TictactoeClass *klass);static void tictactoe_init                (Tictactoe      *ttt);static void tictactoe_toggle              (GtkWidget *widget, Tictactoe *ttt);static gint tictactoe_signals[LAST_SIGNAL] = { 0 };GTypetictactoe_get_type (){  static GType ttt_type = 0;  if (!ttt_type)    {      static const GTypeInfo ttt_info =      {	sizeof (TictactoeClass),	NULL,        NULL,	(GClassInitFunc) tictactoe_class_init,        NULL,	NULL,        sizeof (Tictactoe),	0,	(GInstanceInitFunc) tictactoe_init,      };      ttt_type = g_type_register_static (GTK_TYPE_VBOX, "Tictactoe", &#38;ttt_info, 0);    }  return ttt_type;}static voidtictactoe_class_init (TictactoeClass *class){  GtkObjectClass *object_class;  object_class = (GtkObjectClass*) class;    tictactoe_signals[TICTACTOE_SIGNAL] = g_signal_new ("tictactoe",					 G_TYPE_FROM_CLASS (object_class),	                                 G_SIGNAL_RUN_FIRST,	                                 0,                                         NULL,                                          NULL,                					 g_cclosure_marshal_VOID__VOID,                                         G_TYPE_NONE, 0, NULL);  class-&#62;tictactoe = NULL;}static voidtictactoe_init (Tictactoe *ttt){  GtkWidget *table;  gint i,j;    table = gtk_table_new (3, 3, TRUE);  gtk_container_add (GTK_CONTAINER (ttt), table);  gtk_widget_show (table);  for (i = 0; i &#60; 3; i++)    for (j = 0; j &#60; 3; j++)      {	ttt-&#62;buttons[i][j] = gtk_toggle_button_new ();	gtk_table_attach_defaults (GTK_TABLE (table), ttt-&#62;buttons[i][j], 				   i, i+1, j, j+1);	g_signal_connect (G_OBJECT (ttt-&#62;buttons[i][j]), "toggled",			  G_CALLBACK (tictactoe_toggle), ttt);	gtk_widget_set_size_request (ttt-&#62;buttons[i][j], 20, 20);	gtk_widget_show (ttt-&#62;buttons[i][j]);      }}GtkWidget*tictactoe_new (){  return GTK_WIDGET (g_object_new (tictactoe_get_type (), NULL));}void	       tictactoe_clear (Tictactoe *ttt){  int i,j;  for (i = 0; i &#60; 3; i++)    for (j = 0; j &#60; 3; j++)      {	g_signal_handlers_block_by_func (G_OBJECT (ttt-&#62;buttons[i][j]),                                          NULL, ttt);	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ttt-&#62;buttons[i][j]),				      FALSE);	g_signal_handlers_unblock_by_func (G_OBJECT (ttt-&#62;buttons[i][j]),                                            NULL, ttt);      }}static voidtictactoe_toggle (GtkWidget *widget, Tictactoe *ttt){  int i,k;  static int rwins[8][3] = { { 0, 0, 0 }, { 1, 1, 1 }, { 2, 2, 2 },			     { 0, 1, 2 }, { 0, 1, 2 }, { 0, 1, 2 },			     { 0, 1, 2 }, { 0, 1, 2 } };  static int cwins[8][3] = { { 0, 1, 2 }, { 0, 1, 2 }, { 0, 1, 2 },			     { 0, 0, 0 }, { 1, 1, 1 }, { 2, 2, 2 },			     { 0, 1, 2 }, { 2, 1, 0 } };  int success, found;  for (k = 0; k &#60; 8; k++)    {      success = TRUE;      found = FALSE;      for (i = 0; i &#60; 3; i++)	{	  success = success &#38;&#38; 	    GTK_TOGGLE_BUTTON (ttt-&#62;buttons[rwins[k][i]][cwins[k][i]])-&#62;active;	  found = found ||	    ttt-&#62;buttons[rwins[k][i]][cwins[k][i]] == widget;	}            if (success &#38;&#38; found)	{	  g_signal_emit (G_OBJECT (ttt), 	                 tictactoe_signals[TICTACTOE_SIGNAL], 0);	  break;	}    }}&#13;</PRE></TD></TR></TABLE></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN2856">ttt_test.c</H2><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">&#13;#include &#60;stdlib.h&#62;#include &#60;gtk/gtk.h&#62;#include "tictactoe.h"void win( GtkWidget *widget,          gpointer   data ){  g_print ("Yay!\n");  tictactoe_clear (TICTACTOE (widget));}int main( int   argc,          char *argv[] ){  GtkWidget *window;  GtkWidget *ttt;    gtk_init (&#38;argc, &#38;argv);  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);    gtk_window_set_title (GTK_WINDOW (window), "Aspect Frame");    g_signal_connect (G_OBJECT (window), "destroy",		    G_CALLBACK (exit), NULL);    gtk_container_set_border_width (GTK_CONTAINER (window), 10);  ttt = tictactoe_new ();    gtk_container_add (GTK_CONTAINER (window), ttt);  gtk_widget_show (ttt);  g_signal_connect (G_OBJECT (ttt), "tictactoe",		    G_CALLBACK (win), NULL);  gtk_widget_show (window);    gtk_main ();    return 0;}&#13;</PRE></TD></TR></TABLE></DIV></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="a2711.html"ACCESSKEY="P">&#60;&#60;&#60; Previous</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="book1.html"ACCESSKEY="H">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="x2859.html"ACCESSKEY="N">Next &#62;&#62;&#62;</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">GDK 事件類型</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top">&nbsp;</TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">GtkDial</TD></TR></TABLE></DIV></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区精品| 首页国产欧美日韩丝袜| 国产黑丝在线一区二区三区| 欧美大尺度电影在线| 久草在线在线精品观看| 日韩精品中午字幕| 国产成人免费视| 中文字幕色av一区二区三区| 欧美在线影院一区二区| 舔着乳尖日韩一区| 久久综合久久综合九色| 成人高清在线视频| 亚洲一区二区四区蜜桃| 5月丁香婷婷综合| 国产一区激情在线| 最新久久zyz资源站| 欧美色综合影院| 久久精品国产精品亚洲综合| 欧美精品一区二区精品网| 成人在线视频首页| 亚洲成人一区二区在线观看| 欧美变态tickle挠乳网站| 成人一区二区在线观看| 亚洲国产欧美日韩另类综合| 日韩精品专区在线影院观看| caoporn国产精品| 亚洲第一精品在线| 久久久不卡网国产精品二区| 色天天综合久久久久综合片| 美女网站一区二区| 亚洲男人的天堂一区二区| 欧美高清视频在线高清观看mv色露露十八 | 亚洲精品少妇30p| 欧美一区二区三区影视| 99久久99久久精品免费观看| 天堂久久久久va久久久久| 国产欧美精品一区| 欧美日精品一区视频| 国产福利一区二区三区在线视频| 亚洲综合男人的天堂| 久久久久久夜精品精品免费| 欧美日韩国产小视频| 成人黄色大片在线观看| 日本中文字幕一区二区有限公司| 亚洲国产高清不卡| 日韩三级在线免费观看| 色婷婷综合中文久久一本| 国产一区二区三区久久悠悠色av| 亚洲精品国产精华液| 亚洲午夜精品17c| 中文字幕在线不卡一区| 久久综合久久综合亚洲| 在线播放国产精品二区一二区四区 | 精品国产乱码久久久久久浪潮 | 在线看日韩精品电影| 国产一区二区中文字幕| 日本视频中文字幕一区二区三区| 中文字幕一区二区视频| 久久影院电视剧免费观看| 欧美另类z0zxhd电影| 色哦色哦哦色天天综合| 处破女av一区二区| 国产乱人伦偷精品视频不卡| 日韩vs国产vs欧美| 亚洲成人激情综合网| 亚洲欧美二区三区| 国产精品高潮呻吟| 中文字幕免费观看一区| 久久精品视频免费| 久久亚洲一级片| 精品伦理精品一区| 欧美精品一区二| 欧美mv和日韩mv的网站| 精品欧美乱码久久久久久 | 成人福利视频网站| 成人一区在线看| 成av人片一区二区| 成人免费av网站| 99re成人在线| 久久久久成人黄色影片| 国产三级精品在线| 欧美高清在线视频| 自拍av一区二区三区| 亚洲人亚洲人成电影网站色| 亚洲桃色在线一区| 一区二区三区免费在线观看| 一个色在线综合| 午夜精品视频一区| 青青草国产成人av片免费| 美女精品一区二区| 国产精品一区二区不卡| 波多野结衣视频一区| 91一区在线观看| 久久这里只有精品首页| 精品久久人人做人人爰| 国产日韩精品一区二区三区| 国产精品美女久久久久aⅴ | 日韩女优毛片在线| 精品国产亚洲在线| 国产精品国产三级国产有无不卡| 亚洲欧美日韩国产中文在线| 亚洲国产精品影院| 精品一区二区在线视频| 国产高清视频一区| 日本道色综合久久| 日韩一区二区在线看| 久久久电影一区二区三区| 国产精品国产三级国产a| 亚洲成人av资源| 国产综合久久久久久鬼色| 91在线一区二区| 91精品婷婷国产综合久久| 国产欧美一区视频| 亚洲同性同志一二三专区| 奇米一区二区三区| 成人av电影观看| 91麻豆精品国产91久久久资源速度| 久久美女艺术照精彩视频福利播放| 中文字幕一区二区三区色视频| 丝袜脚交一区二区| 本田岬高潮一区二区三区| 欧美日韩高清在线| 亚洲国产精品v| 捆绑紧缚一区二区三区视频 | 国产亚洲一二三区| 视频一区视频二区中文字幕| 高清成人免费视频| 91精品免费在线| 成人欧美一区二区三区| 经典三级在线一区| 欧美午夜在线一二页| 中文字幕第一区| 美国欧美日韩国产在线播放| 色婷婷激情一区二区三区| 久久免费国产精品| 免费看日韩a级影片| 91视频com| 国产午夜精品一区二区三区视频 | 精品成人在线观看| 亚洲第四色夜色| 不卡一区二区在线| 久久综合一区二区| 免费人成精品欧美精品| 欧美在线视频不卡| 国产精品成人免费在线| 国产精品自在在线| 日韩欧美一级在线播放| 香蕉久久夜色精品国产使用方法| 成人激情图片网| 国产亚洲一区字幕| 老司机精品视频线观看86| 7878成人国产在线观看| 亚洲午夜av在线| 一道本成人在线| 亚洲欧洲日产国产综合网| 成人亚洲精品久久久久软件| 337p粉嫩大胆噜噜噜噜噜91av| 丝袜a∨在线一区二区三区不卡| 91福利在线导航| 亚洲男人的天堂在线观看| 色综合天天综合网天天看片| 国产精品传媒视频| 波多野结衣亚洲| 国产精品国产a| 99精品欧美一区| 亚洲日本免费电影| 91黄色免费观看| 亚洲一区在线免费观看| 精品污污网站免费看| 亚洲国产日韩av| 51午夜精品国产| 免费精品99久久国产综合精品| 91精品国产91久久综合桃花| 日本欧美在线观看| 精品三级在线看| 国产精品系列在线观看| 国产精品免费视频一区| 91偷拍与自偷拍精品| 亚洲精选视频免费看| 在线看国产一区二区| 日韩精品电影一区亚洲| 7777精品伊人久久久大香线蕉超级流畅 | 成人a区在线观看| 国产精品久久久久久久久免费丝袜| 成人av电影观看| 亚洲一区二区三区在线| 欧美一区三区四区| 国内精品久久久久影院薰衣草| 久久精品男人天堂av| 99精品视频中文字幕| 亚洲制服丝袜在线| 日韩欧美一区中文| 国产成人在线视频免费播放| 亚洲人快播电影网| 69堂精品视频| 高清成人免费视频| 亚洲丶国产丶欧美一区二区三区| 日韩一区二区在线观看视频播放| 国产成+人+日韩+欧美+亚洲| 亚洲精品成人精品456|