Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从MFC标题栏中删除关闭按钮_Mfc_Mfc Feature Pack - Fatal编程技术网

如何从MFC标题栏中删除关闭按钮

如何从MFC标题栏中删除关闭按钮,mfc,mfc-feature-pack,Mfc,Mfc Feature Pack,有没有一种简单的方法可以从MFC功能包标题栏中删除关闭按钮 (我指的不是窗口标题,我指的是在这些应用程序中可以出现在客户端区域顶部的小信息栏,即:CMFCCaptionBar) 谢谢你想出了一个办法 class CNoCloseCaptionBar : public CMFCCaptionBar { public: CNoCloseCaptionBar() { } virtual void RecalcLayout() { __super

有没有一种简单的方法可以从MFC功能包标题栏中删除关闭按钮

(我指的不是窗口标题,我指的是在这些应用程序中可以出现在客户端区域顶部的小信息栏,即:CMFCCaptionBar)

谢谢你想出了一个办法

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);