VC按最小化、关闭按钮、Esc都隐藏主窗口

VC按最小化、关闭按钮、Esc键都隐藏主窗口,在托盘处程序图标的右键菜单中点击,显示主窗口。

1. 按最小化时隐藏主窗口:为窗口添加WM_SIZE消息响应函数

void CdDlg::OnSize(UINT nType, int cx, int cy)
{
	CDialogEx::OnSize(nType, cx, cy);

	if(nType == SIZE_MINIMIZED)
		ShowWindow(SW_HIDE);
}

2. 按窗口的关闭按钮,隐藏主窗口:为窗口添加WM_CLOSE消息响应函数

void CdDlg::OnClose()
{
	ShowWindow(SW_HIDE);

	//CDialogEx::OnClose();									// 阻止消息继续传递
}

3. 按Esc键,隐藏主窗口:重载窗口的PreTranslateMessage()函数

BOOL CdDlg::PreTranslateMessage(MSG* pMsg)
{
	if(pMsg->message == WM_KEYDOWN)
	{
		if(pMsg->wParam == VK_ESCAPE)
		{
			ShowWindow(SW_HIDE);
			return TRUE;
		}
	}

	return CDialogEx::PreTranslateMessage(pMsg);
}

4. 右击托盘处程序图标,在弹出菜单中点击“显示主窗口”菜单项,弹出主窗口(实际上就是该菜单项的响应函数)

void CdDlg::OnShowMainwindow()
{
	ShowWindow(SW_SHOWNORMAL);
	SetForegroundWindow();
}





你可能感兴趣的:(VC按最小化、关闭按钮、Esc都隐藏主窗口)