DEUS - Frage zu Deinen Gradient-Klassen (die fließenden Farben) in der FAQ



  • Aloha,

    ich lege die Klasse "DrawGradient(...)", hinter ne Treeview von meinem Splitterwindow, und der Baum is weg.

    Ich rufe sie in der OnPaint() auf like this :

    void CTree::OnPaint() 
    {
    
    CPaintDC dc(this); // device context for painting
    
    CRect rect;
    GetClientRect(&rect);
    DrawGradient(this->GetDC(),rect,RGB(210,255,220),RGB(255,255,255),VERT);
    
    }
    

    Wie gesagt, das einzigste was jetzt noch zu sehen ist, ist der Hintergrund, der ist aber wunderbar. 😋

    Klammer ich es aus, ist der Tree wieder da.

    Wie binde ich die Klasse richtig ein, so daß der hintergrund und der Baum zu sehen ist ?

    Bei Dialogen funzt es wunderbar in der OnPaint();

    Beste Grüße

    BOA

    P.S. Gleiche Problem bei meiner Formview auf der anderen Seite. Ist mir ein Rätsel...



  • vielleicht so:

    void CTree::OnPaint()  
    { 
    
    CPaintDC dc(this); // device context for painting 
    
    CRect rect; 
    GetClientRect(&rect); 
    DrawGradient(this->GetDC(),rect,RGB(210,255,220),RGB(255,255,255),VERT); 
    
    CTreeView::OnPaint();
    }
    


  • Aloha,

    leider auch net, die Variante habe ich schon "kopiert", bzw. getestet aus der Dialog-Klasse, weil es dort ja so wunderbar funzt.

    Mein Manko ist absolut alles, was mit zeichnen zu tun hat. 😞

    Grüße

    BOA



  • Hm, kann es sein, dass die einzelnen Elemente eines TreeViews in ner anderen Funktion gezeichnet werden. Hab den Namen leider grad net im Kopf. Aber es könnte sein, dass diese vor OnPaint aufgerufen wird.


Anmelden zum Antworten