/*
============================================================================
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;
}
每天练习写代码---创建消息框
最新推荐文章于 2021-11-30 22:29:45 发布