CMFCHeaderCtrl + CMFCListCtrl Color



  • Hallo zusammen,

    bei dem "alten" CHeader Control wurde abgeleitet und der erstellte Header subsituiert. Dann wurde mit Custom Draw gearbeietet.

    Bei der neuen Version verhält sich das komplett anders. Anscheinend kommt in den DialogEditor ein normales CListCtrl und es wird dann eine Contl. Var vom Typ CMFCListCtrl erstellt.

    LVS_REPORT scheint nur noch über den Dialog Editor zu gehen ?

    Der Header wird als Member, abgeleitet von CMFCHeaderCtrl , einfach in der virtuellen GetHeaderCtrl() zurück gegeben. Wundersamer Dinge , ganz ohne Create und Subsitute scheint alles zu funktionieren.

    OnFillBackground (CDC* pDC) von der abgeleiteten CMFCHeaderCtrl wird auch aufgerufen. Nur wird mein Rect nicht gefüllt 🙂

     void CostGridHeader::OnFillBackground(CDC* pDC)
    {
        //DEF_GRIDFIXEDCOLOR
        CRect rect;
        this->GetClientRect(rect);
         
        CBrush brush0(RGB(255, 0, 0)); // Testcolor
        pDC->FillRect(&rect, &brush0);
        brush0.DeleteObject();
       
      // return CMFCHeaderCtrl::OnFillBackground(pDC);
    
    }
    

    Wenn ich zum Test in CMFCHeaderCtrl OnDrawItem den Aufruf der Basisklasse weglasse und dort ein Rect zeichne geht es, allerdings müsste ich dann auch dort den Rest zeichnen, der Aufruf der Basisklassse zeichnet anscheinend seinen eigenen Background.

    Wo liegt der Fehler bzw. gibt es ein Beispiel für Headercolor von CMFCListCtrl nicht CListCtrl ?


Log in to reply