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

📄 ex24_3.c

📁 linux 高级编程的例子源码,包括了本书上的所有代码
💻 C
字号:
/*filename:ex24_3.c*/
# include<gtk/gtk.h>

void CloseDialog(GtkWidget *widget,gpointer data)
{
	gtk_grab_remove(GTK_WIDGET(widget);
	gtk_widget_destroy(GTK_WIDGET(data));
}

void MessageBox(gchar *caption,
gchar  *message,gint IsChinese)
{
  GtkWidget *dialog_window;
  GtkWidget *button;
  GtkWidget *label;
  
  g_return_if_fail (caption!= NULL);
  g_return_if_fail (message!= NULL);

  dialog_window=gtk_dialog_new();
  gtk_window_set_title(GTK_WINDOW(dialog_window),caption);
  gtk_signal_connect(GTK_OBJECT(dialog_window),"destroy",
                    GTK_SIGNAL_FUNC(CloseDialog),dialog_window);			
  gtk_container_border_width(GTK_CONTAINER(dialog_window),5);
   
  if (!IsChinese)
      button=gtk_button_new_with_label("Ok");
  else
      button=gtk_button_new_with_label("确定");
  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);
  gtk_signal_connect(GTK_OBJECT(button),"clicked",
                    GTK_SIGNAL_FUNC(CloseDialog),dialog_window);			
  
  label=gtk_label_new(message);
  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);
  gtk_widget_show(dialog_window);
  gtk_grab_add(dialog_window);
  return ;
				
}

/* click "Yes" button in main function to transfer this function */void OnOk(GtkFileSelection *fs){
	gchar buf[256];
	sscanf(buf,"%s has beend saved.",
		gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
	MessageBox("message return",buf,0);	
}int main (int argc, char *argv[]){    GtkWidget *filew;        gtk_init (&argc, &argv);        /* Create a new file selection widget */    filew = gtk_file_selection_new ("Save as");        gtk_signal_connect (GTK_OBJECT (filew), "destroy",			(GtkSignalFunc) destroy, &filew);    /* click the ok_button to transfer function OkClicked */    gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),			"clicked", GTK_SIGNAL_FUNC(OnOk), filew );        /* Connect the cancel_button to destroy the widget */    gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),			       "clicked", GTK_SIGNAL_FUNC(CloseDialog),NULL);        /* give a default filename */    gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew), 				     "fileselect.c");        gtk_widget_show(filew);    gtk_main ();    return 0;}

⌨️ 快捷键说明

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