⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dialog.c

📁 这是一个Linux下的源代码,具体的你自己去看了,绝对的好东西,是关于网络通讯方面的!
💻 C
字号:
#include <gtk/gtk.h>gchar sFilename[256]; gint yesnoreturn;void CloseDialog (GtkWidget *widget, gpointer data){    gtk_widget_destroy (GTK_WIDGET (data));   }void ClosingDialog (GtkWidget *widget, gpointer data){    gtk_grab_remove (GTK_WIDGET (widget));    gtk_main_quit ();}void Popup(gchar *szMessage){    static GtkWidget *label;    GtkWidget *button;    GtkWidget *dialog_window;    dialog_window = gtk_dialog_new ();    gtk_signal_connect (GTK_OBJECT (dialog_window), "destroy",	                GTK_SIGNAL_FUNC (ClosingDialog),	                NULL);    gtk_window_set_title (GTK_WINDOW (dialog_window), "yq");    gtk_container_border_width (GTK_CONTAINER (dialog_window), 5);    label = gtk_label_new (szMessage);    gtk_misc_set_padding (GTK_MISC (label), 10, 10);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->vbox),                         label, TRUE, TRUE, 0);    gtk_widget_show (label);    button = gtk_button_new_with_label ("确定");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (CloseDialog),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_grab_default (button);    gtk_widget_show (button);    gtk_widget_show (dialog_window);    gtk_grab_add (dialog_window);    gtk_main ();}void YesFunc (GtkWidget *widget, gpointer data){   yesnoreturn=1;    gtk_widget_destroy (GTK_WIDGET (data));}void Areyousure (gchar *szMessage){    GtkWidget *label;    GtkWidget *button;    GtkWidget *dialog_window;    yesnoreturn=0;    dialog_window = gtk_dialog_new ();    gtk_signal_connect (GTK_OBJECT (dialog_window), "destroy",	                GTK_SIGNAL_FUNC (ClosingDialog),	                NULL);    gtk_window_set_title (GTK_WINDOW (dialog_window), "YQ");    gtk_container_border_width (GTK_CONTAINER (dialog_window), 5);    label = gtk_label_new (szMessage);    gtk_misc_set_padding (GTK_MISC (label), 10, 10);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->vbox),                         label, TRUE, TRUE, 0);    gtk_widget_show (label);    button = gtk_button_new_with_label ("确定");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (YesFunc),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_show (button);    button = gtk_button_new_with_label ("取消");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (CloseDialog),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_grab_default (button);    gtk_widget_show (button);    gtk_widget_show (dialog_window);    gtk_grab_add (dialog_window);    gtk_main ();}void NoFunc (GtkWidget *widget, gpointer data){    yesnoreturn=0;    gtk_widget_destroy (GTK_WIDGET (data));}void YesNo (gchar *szMessage){    GtkWidget *label;    GtkWidget *button;    GtkWidget *dialog_window;    yesnoreturn=2;    dialog_window = gtk_dialog_new ();    gtk_signal_connect (GTK_OBJECT (dialog_window), "destroy",	                GTK_SIGNAL_FUNC (ClosingDialog),	                NULL);    gtk_window_set_title (GTK_WINDOW (dialog_window), "YQ");    gtk_container_border_width (GTK_CONTAINER (dialog_window), 5);    label = gtk_label_new (szMessage);    gtk_misc_set_padding (GTK_MISC (label), 10, 10);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->vbox),                         label, TRUE, TRUE, 0);    gtk_widget_show (label);    button = gtk_button_new_with_label ("是");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (YesFunc),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_show (button);    button = gtk_button_new_with_label ("否");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (NoFunc),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_show (button);			      button = gtk_button_new_with_label ("取消");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (CloseDialog),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_grab_default (button);    gtk_widget_show (button);    gtk_widget_show (dialog_window);    gtk_grab_add (dialog_window);    gtk_main ();}void InputNameYesFunc (GtkWidget *widget, gpointer data){yesnoreturn=1;    strcpy(sFilename,gtk_entry_get_text(GTK_ENTRY(gtk_container_children(GTK_CONTAINER(GTK_DIALOG(data)->vbox))->next->data)));        gtk_widget_destroy (GTK_WIDGET(data));}void InputName (gchar *szMessage,gchar *entryvalue){    GtkWidget *label;    GtkWidget *entry;    GtkWidget *button;    GtkWidget *dialog_window;    yesnoreturn=0;    dialog_window = gtk_dialog_new ();    gtk_signal_connect (GTK_OBJECT (dialog_window), "destroy",	                GTK_SIGNAL_FUNC (ClosingDialog),	                NULL);    gtk_window_set_title (GTK_WINDOW (dialog_window), "YQ");    gtk_container_border_width (GTK_CONTAINER (dialog_window), 5);    label = gtk_label_new (szMessage);    gtk_misc_set_padding (GTK_MISC (label), 10, 10);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->vbox),                         label, TRUE, TRUE, 0);    gtk_widget_show (label);    entry=gtk_entry_new();    gtk_entry_set_text(GTK_ENTRY(entry),entryvalue);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->vbox),                         entry, TRUE, TRUE, 0);    gtk_widget_show (entry);                            button = gtk_button_new_with_label ("确定");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (InputNameYesFunc),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_show (button);    gtk_widget_grab_default (button);    button = gtk_button_new_with_label ("取消");    gtk_signal_connect (GTK_OBJECT (button), "clicked",	                GTK_SIGNAL_FUNC (CloseDialog),	                dialog_window);    GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT);    gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog_window)->action_area), 			  button, TRUE, TRUE, 0);    gtk_widget_show (button);    gtk_widget_show (dialog_window);    gtk_grab_add (dialog_window);    gtk_main ();}void file_ok_sel (GtkWidget *widget, gpointer data){    strcpy(sFilename,gtk_file_selection_get_filename (GTK_FILE_SELECTION (data)));    if (sFilename[strlen(sFilename)-1]=='/') sFilename[0]='\0';    gtk_widget_destroy (GTK_WIDGET (data));}voidGetFilename (char *sTitle){ GtkWidget     *filew;    sFilename[0]='\0';    filew = gtk_file_selection_new (sTitle);    gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filew));    gtk_signal_connect (GTK_OBJECT (filew), "destroy",            (GtkSignalFunc) ClosingDialog , NULL);    gtk_signal_connect (            GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),            "clicked", (GtkSignalFunc) file_ok_sel, filew );    gtk_signal_connect (             GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),             "clicked", (GtkSignalFunc) CloseDialog, filew);    gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew), "");    gtk_widget_show (filew);    gtk_grab_add (filew);    gtk_main ();}

⌨️ 快捷键说明

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