2009-05-11 15 views

Antwort

2

Eine Möglichkeit gefunden ...

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

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

}; 
+0

Shameless hacken direkt geschützt modifizierende Mitglieder Basisklasse, aber leider habe ich nicht eine bessere Alternative . Dies hindert sie nicht daran, die Titelleiste zu schließen, sondern stoppt nur das Zeichnen der x-Schaltfläche ... Sie müssen die entsprechenden Methoden überladen, um das Schließen auf andere Weise zu verhindern. – AJG85

0

Das Entfernen der Bitmap funktionierte für mich. Siehe das MSOffice2007Demo-Beispiel im Visual C++ 2008 Feature Pack.

Kommentieren Sie die folgende Zeile in CMainFrame: CreateMessageBar()

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

Caption Bar ohne Schließen-Schaltfläche enter image description here

Verwandte Themen