Farbiges menüfeld



  • hallo leute.

    folgendes :

    hab ein dialogfenster erstellt mit nem farbigen hintergrund.
    zusätzlich gibt es noch ein menü in diesem dialog das aber nicht farbig dargestellt wird. es erscheint immer in grau, wie kann ich das einrichten das es auch farbig ist.

    void CTelDlg::OnPaint() 
    {
    	CPaintDC dc(this);
    	CRect rect;						
    	GetClientRect(&rect);
    	dc.FillSolidRect(&rect,COLORREF(RGB(60,60,60)));
    }
    
    HBRUSH CTelDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    	// TODO: Attribute des Gerätekontexts hier ändern
    
    	CBrush m_Brush; 
    
        if (pWnd->GetDlgCtrlID()==IDC_STATIC_VERSION)
        { 
            pDC->SetTextColor(RGB(255,255,255));       
            pDC->SetBkMode(TRANSPARENT);            
            HBRUSH m_Brush = CreateSolidBrush(RGB(60,60,60)); 
            return (HBRUSH) m_Brush; 
        }
    
    	// TODO: Anderen Pinsel zurückgeben, falls Standard nicht verwendet werden soll
    	return hbr;
    }
    

    das menu hat die id: IDR_MENU

    habs mal folgendermassen probiert jedoch ohne erfolg:

    if (pWnd->GetDlgCtrlID()==IDR_MENU)
        { 
            pDC->SetTextColor(RGB(255,255,255));       
            pDC->SetBkMode(TRANSPARENT);             
            HBRUSH m_Brush = CreateSolidBrush(RGB(60,60,60)); 
            return (HBRUSH) m_Brush;
        }
    


  • Das wird so nicht gehen, da müsstest du vielleicht mit CWnd::GetMenu(), CRect::GetClientRect() und CWnd::FillSolidRect() arbeiten...

    Gruß
    :: NoName ::



  • denke ich mir auch nur bekomm ichs ned hinne. naja falls sich einer erbarmt mir nen code hinzubasteln wäre es nett. wenn nicht auch egal. ist nicht so tragisch das ich dafür stunden investieren würde.


Anmelden zum Antworten