📄 ex24_3.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 + -