C++关闭窗口结束程序
时间: 2024-08-28 18:02:29 浏览: 34
在C++中,如果你想通过关闭窗口来结束一个图形用户界面程序,通常是在事件处理函数中监听窗口关闭信号(如`WM_CLOSE` 或 `WM_QUIT`)。如果你使用的是MFC(Microsoft Foundation Classes)或者其他库提供的窗口API,例如Qt,你可以这样做:
**MFC示例**:
```cpp
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage(0); // 发送消息给消息循环,表示窗口即将关闭
break;
case WM_CLOSE:
DestroyWindow(hWnd); // 关闭窗口
PostQuitMessage(0);
break;
// 其他处理...
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
```
在这个例子中,当接收到`WM_DESTROY`或`WM_CLOSE`消息时,会销毁窗口并发送`PostQuitMessage()`,这将停止消息循环,进而结束整个程序。
**Qt示例**:
```cpp
void MainWindow::closeEvent(QCloseEvent* event) {
QApplication::quit(); // Qt中的窗口关闭事件,调用这个会退出应用程序
event->accept();
}
```
在Qt中,当窗口接收`QCloseEvent`时,直接调用`QApplication::quit()`即可结束程序。
阅读全文