2008-08-24 14:28:22 作者:AzureSky
很多时候,点击窗口右上角的 “X” ,窗口就马上关闭,但有时我们需要在关闭窗口之前检测些东西,这样,我们就需要对关闭窗口的事件进行修改。
首先,我们从 gtkmm 的 api 中找到关闭窗口事件的函数:virtual bool Gtk::Widget::on_delete_event ( GdkEventAny * event) [protected, virtual]
从这里,我们可以知道,这是一个虚函数,返回值是 bool 型。那现在我们开始行动。
我们先创建一个类,继承 Window 类
class win: public Gtk::Window
{
protected:
bool on_delete_event(GdkEventAny* event);
/*------dosomthing------*/
};
接着现在对这个函数进行修改:
bool win::on_delete_event(GdkEventAny* event)
{
return false; //关闭窗口
/*return true; 不关闭窗口*/
}
当我们返回true的时候,窗口就不关闭了。
现在我们可以在里面添加一些判断处理了,只要处理完毕才返回 false 关闭窗口。

