对话框构件--退出时_yes_no
来源:互联网 发布:知乎引流技巧 编辑:程序博客网 时间:2024/05/01 22:44
一、对话框构件
对话框构件非常简单,事实上他仅仅是个预先组装了几个构件到里面的窗口。对话框的定义如下:
struct GtkDialog{
GtkWindow window;
GtkWidget *vbox;
GtkWidget *action_area;
};
从上面能看到,对话框只是简单地创建一个窗口,并在顶部组装一个G t k V B o x,然后在G t k V B o x中组装一个分隔线,再加一个称为“活动区”的G t k H B o x。我们能在该“活动区”添加一些按纽。
对话框用gtk_dialog_new创建。
1.
名称::
gtk_dialog_new
功能:
创建对话框构件
头文件:
#include
函数原形:
GtkWidget *gtk_dialog_new(void);
参数:
无
返回值:
新的对话框构件
#include
void button_event(GtkWidget *widget, gpointer *data);
void destroy(GtkWidget *widget, gpointer *data);
int main(int argc,char *argv[ ])
{
GtkWidget *window;
GtkWidget *button;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL);
button=gtk_button_new_with_label(“Exit”);
gtk_container_add(GTK_CONTAINER(window),button);
gtk_signal_connect(GTK_OBJECT(button),”clicked”,G_CALLBACK(button_event),NULL);
gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
}
void button_event(GtkWidget *widget, gpointer *data)
{
GtkWidget *button;
GtkWidget *dialog;
dialog=gtk_dialog_new( );
button=gtk_button_new_with_label(“Yes”);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),button,TRUE,TRUE,0);
gtk_signal_connect(GTK_OBJECT(button),”clicked”,G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show(button);
button=gtk_button_new_with_label(“No”);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),button,TRUE,TRUE,0);
gtk_signal_connect(GTK_OBJECT(button),”clicked”,G_CALLBACK(destroy),dialog);
gtk_widget_show(button);
gtk_widget_show(dialog);
}
void destroy(GtkWidget *widget, gpointer *data)
{
gtk_widget_destroy(GTK_WIDGET(data));
}
程式运行后会得到如下界面:
当用户点击按纽会得到如下对话框。
如果用户电击Yes程式退出,如果用户点击No对话框消失。
- 对话框构件--退出时_yes_no
- C#退出时弹对话框确认退出
- 对话框退出时,调用函数
- 程序退出时弹出对话框提示
- Android退出时创建弹窗对话框
- Androidt退出登录时弹出确认对话框
- 退出程序时不显示保存对话框,替代显示确定退出对话框
- 非模态对话框退出
- 退出应用对话框
- 避免对话框退出
- 退出应用对话框
- android的退出对话框
- libgdx: 退出对话框
- MFC对话框退出函数
- 对话框式退出程序
- 在非模式对话框退出时,释放内存
- C# win form退出窗体时对话框实用
- C#弹出选择对话框(退出时判断有用)
- 佛与魔的区别
- Getting Sart with OpenMPI On Federa 14 X86_64
- 引擎
- C#中DataTable的使用方式
- 给iOS SDK中的表格控件(UITableView)添加背景图
- 对话框构件--退出时_yes_no
- VC++2005运行Win32控制台程序时,为什么弹不出控制台窗口(无法看到运行结果)?
- 使用ASPOSE导出DataGrid数据到Excel(VB)
- iphone/ipad中代码下拉屏幕刷新的方法
- google在新窗口中打开标签设置
- android学习博客连接
- linux下vi编辑器学习笔记
- ACM CSCW 2011会议文章
- 在iPad中显示实时交通地图