每天练习写代码---创建消息框

    技术2022-05-19  28

    /*  ============================================================================  Name        : MessageDialog.c  Author      : yongjian.sun  Version     :  Copyright   : Your copyright @ yongjian.sun  Description :  ============================================================================  */ #include <gtk/gtk.h> /*------------------------------------------------------  * Name:on_button_clicked  * Function: callback function for radio button  * Author:yongjian.sun  * Date: 2011-03-05  *-----------------------------------------------------*/ void on_button_clicked(GtkWidget *widget, gpointer data) {     GtkWidget *dialog;     GtkMessageType type;     gchar *message;     switch((int)data)     {     case 1:         message = "这十一个消息提示对话框";         type = GTK_MESSAGE_INFO;         break;     case 2:         message = "这是一个错误提示对话框";         type = GTK_MESSAGE_ERROR;         break;     case 3:         message = "这是一个问题提示对话框";         type = GTK_MESSAGE_QUESTION;         break;     case 4:         message = "这是一个警告提示对话框";         type = GTK_MESSAGE_WARNING;         break;     }     dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL |GTK_DIALOG_DESTROY_WITH_PARENT, type,GTK_BUTTONS_OK,、message);     gtk_dialog_run(GTK_DIALOG(dialog));     gtk_widget_destroy(dialog); } int main(int argc, char *argv[]) {     GtkWidget *window;     GtkWidget *frame;     GtkWidget *box;     GtkWidget *button;     gtk_init(&argc, &argv);     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);     g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);     gtk_container_set_border_width(GTK_CONTAINER(window), 20);     frame = gtk_frame_new("四种消息对话框");     gtk_container_add(GTK_CONTAINER(window), frame);     box = gtk_hbox_new(TRUE, 0);     gtk_container_add(GTK_CONTAINER(frame), box);     gtk_container_set_border_width(GTK_CONTAINER(box), 20);     button = gtk_button_new_from_stock(GTK_STOCK_DIALOG_INFO);     gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 5);     g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_button_clicked), (gpointer)1);     button = gtk_button_new_from_stock(GTK_STOCK_DIALOG_ERROR);     gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 5);     g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_button_clicked), (gpointer)2);     button = gtk_button_new_from_stock(GTK_STOCK_DIALOG_QUESTION);     gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 5);     g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_button_clicked), (gpointer)3);     button = gtk_button_new_from_stock(GTK_STOCK_DIALOG_WARNING);     gtk_box_pack_start(GTK_BOX(box), button, FALSE, FALSE, 5);     g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_button_clicked), (gpointer)4);     gtk_widget_show_all(window);     gtk_main();     return 0; }


    最新回复(0)