0

如何更改 c++ 中的默认关闭操作?

如果我按下红色 X(在 Windows 窗体应用程序中),我不想关闭框架,而只是隐藏它。

4

1 回答 1

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事件的信息可以在这里找到。

于 2013-09-28T11:26:48.837 回答