如何更改c ++中的默认关闭操作?
如果我按下红色X(在windows窗体应用程序中),我不想要关闭框架,只是隐藏它。
答案 0 :(得分:1)
如果它是一个Windows窗体应用程序,很可能你已经有了某种消息循环过程(或者如果不是你必须实现一个)然后在那个句柄WM_CLOSE消息中并最小化窗口并返回已处理该事件,以便默认实现不会关闭窗口。你使用什么技术 - MFC,ATL,Winforms?
修改强>
由于您已经明确表示您正在使用Windows窗体,这应该可行(小示例显示如何在构造函数中添加关闭事件处理程序以及如何实际取消关闭并最小化窗口):
Form1(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
this->Closing += gcnew CancelEventHandler(this, &Form1::Form1_Closing);
}
void Form1_Closing( Object^ /*sender*/, System::ComponentModel::CancelEventArgs^ e )
{
this->WindowState = FormWindowState::Minimized;
e->Cancel = true;
}
Form::Closing
事件的更多内容可以找到here。