2009-05-11 30 views
3

MFCフィーチャーパックのキャプションバーから閉じるボタンを簡単に削除する方法はありますか?MFCキャプションバーから閉じるボタンを削除する方法

(私は、ウィンドウのキャプションを意味するものではありません、私はこれらのアプリケーションでクライアント領域の最上部に表示されることがほとんどない情報バーについて話している - すなわち:CMFCCaptionBar)

おかげ

答えて

2

一方的に描かれています...

class CNoCloseCaptionBar : public CMFCCaptionBar 
{ 
public: 
    CNoCloseCaptionBar() 
    { 
    } 

    virtual void RecalcLayout() 
    { 
     __super::RecalcLayout(); 
     m_rectClose.SetRectEmpty(); 
    } 

}; 
+0

恥知らず直接保護された基底クラスのメンバーを変更するハックが、悲しいことに、私はより良い代替手段を持っていない:

コメントアウトのCMainFrameに次の行を。これはキャプションバーを閉じることを止めないだけで、xボタンが描かれるのを止めます。実際に他の手段で閉じることを防ぐために適切なメソッドをオーバーロードする必要があります。 – AJG85

0

私のためにビットマップを削除しました。 Visual C++ 2008 Feature PackのMSOffice2007Demoの例を参照してください。閉じるボタンなしCreateMessageBar()

//m_wndMessageBar.SetBitmap(IDB_INFO, RGB(255, 255, 255), FALSE, CMFCCaptionBar::ALIGN_LEFT); 

キャプションバー enter image description here

関連する問題