如何从MFC标题栏中删除关闭按钮
有没有一种简单的方法可以从MFC功能包标题栏中删除关闭按钮 (我指的不是窗口标题,我指的是在这些应用程序中可以出现在客户端区域顶部的小信息栏,即:CMFCCaptionBar) 谢谢你想出了一个办法如何从MFC标题栏中删除关闭按钮,mfc,mfc-feature-pack,Mfc,Mfc Feature Pack,有没有一种简单的方法可以从MFC功能包标题栏中删除关闭按钮 (我指的不是窗口标题,我指的是在这些应用程序中可以出现在客户端区域顶部的小信息栏,即:CMFCCaptionBar) 谢谢你想出了一个办法 class CNoCloseCaptionBar : public CMFCCaptionBar { public: CNoCloseCaptionBar() { } virtual void RecalcLayout() { __super
class CNoCloseCaptionBar : public CMFCCaptionBar
{
public:
CNoCloseCaptionBar()
{
}
virtual void RecalcLayout()
{
__super::RecalcLayout();
m_rectClose.SetRectEmpty();
}
};
删除位图对我很有效。参见VisualC++ 2008特性包中的MSOFFICE2007演示示例。 注释掉CMainFrame中的以下行:CreateMessageBar() 不带关闭按钮的标题栏
无耻的黑客直接修改受保护的基类成员,但遗憾的是,我没有更好的选择。这并没有阻止他们关闭标题栏,只是阻止了x按钮的绘制。。。您必须重载适当的方法,以实际防止通过其他方式关闭。
//m_wndMessageBar.SetBitmap(IDB_INFO, RGB(255, 255, 255), FALSE, CMFCCaptionBar::ALIGN_LEFT);