如何禁用窗口关闭按钮在一个 MFC 多文档界面 (MDI) 应用程序

 我来答
6545abc
推荐于2016-08-05 · 超过56用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:105万
展开全部
在某些情况下可以防止用户单击关闭按钮以关闭 MFC 应用程序中的框架窗口的窗口的标题栏中。 关闭按钮可以删除删除在 WS_SYSMENU 样式从帧窗口。 但是,此的 Minimize 最大化,和还原按钮也删除,并且无法添加。 这是 Windows 的设计的依据。 要解决此限制,可以通过禁用关闭按钮来模拟没有关闭按钮在窗口的功能。 在 WM_CREATE 消息处理程序中的 MDI 子框架窗口(CMDIChildWnd 派生类) 禁用在关闭按钮使用下面的代码:CMenu *pSysMenu = GetSystemMenu(FALSE); ASSERT(pSysMenu != NULL); VERIFY(pSysMenu->RemoveMenu(SC_CLOSE, MF_BYCOMMAND));子框架窗口未处于最大化时, 以上代码禁止用户通过单击关闭按钮关闭子框架窗口。 当子框架窗口最大化时以上代码将使显示禁用关闭按钮。但是,用户仍然可以通过单击此窗口关闭按钮关闭子框架窗口。 为此这一点,请使用 WM_SYSCOMMAND 消息处理程序为下面的示例中的子框架的类:// CChildFrame is a CMDIChildWnd-derived class. void CChildFrame::OnSysCommand(UINT nID, LPARAM lParam){ if(nID == SC_CLOSE) return; CMDIChildWnd::OnSysCommand(nID, lParam);}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式