Chinaunix

标题: 关于设置dialog窗口 [打印本页]

作者: wxgchinaunix    时间: 2008-10-15 21:48
标题: 关于设置dialog窗口
父窗口创建一个提示的错误dialog,我想实现必须先关闭diaolog窗口才可以
继续操作父窗口,应为父窗口是全屏显示的,如果父窗口覆盖掉dialog窗口,但是
又没有获取到焦点的话,这样就不能进行任何操作了。
作者: chenzhixin    时间: 2008-10-16 08:21
//弹出提示对话框
        int result;
        GtkWidget *dialog;
       
        dialog = gtk_message_dialog_new(GTK_WINDOW(wbus->window),GTK_DIALOG_MODAL,
                                GTK_MESSAGE_WARNING,
                                GTK_BUTTONS_YES_NO,
                                N_("Are you sure you want to exit the system?"));
       
        //FIXME:调整提示框的位置
        //gtk_window_set_gravity(GTK_WINDOW(dialog),GDK_GRAVITY_CENTER);
        gtk_window_move(GTK_WINDOW(dialog),wbus->draw_width/2-50,wbus->draw_height/2);
               
        result = gtk_dialog_run(GTK_DIALOG (dialog));
        switch(result){
                case GTK_RESPONSE_YES:
                        gtk_widget_destroy(dialog);
                        gtk_widget_destroy(wbus->window);
                        return;
                default:
                        break;
        }
       
        gtk_widget_destroy(dialog);
作者: wxgchinaunix    时间: 2008-10-16 09:38
标题: 回复 #2 chenzhixin 的帖子
谢谢,跟踪到gtk_message_dialog_new()的创建过程就知道怎样设置父子窗口之间的关系了。
作者: wxgchinaunix    时间: 2008-10-16 10:20
标题: 回复 #2 chenzhixin 的帖子
请问如何在新弹出来的窗口中设置某个控件获得焦点。
gtk_window_set_focus()不行,
必须先点击下新的窗口那个焦点才会落到设置的控件上。
作者: MOTOBIKE    时间: 2008-10-20 12:27
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2