färben von Steuerelementen !!!



  • Hallo,

    ich möchte einzelne Steuerelemente wie z.B. Text-Felder färben (Hintergrund und Textfarbe davon)um eine bessere Übersicht zu erzielen. Wie kann ich das machen bzw. welche Funktion der MFC ermöglicht mir dieses. Ich weis z.B. das man z.B. mit SetDialogBkColor( RGB(0,0,255), RGB(255,255,255)); in Initinstance() der Klasse den ganzen Dialog färben kann. Aber wie geht das mit den Steuerelementen ?

    im voraus vielen Dank !



  • Such mal nach Subclassing bzw. ONCTLColor.
    Codeguru hatt auch einiges zu dem Thema.

    Devil



  • du hast zb zwei steuerelemente mit den IDS IDC_DATE und IDC_ENDDATE.
    die TEXTFarbe von IDC_DATE ist irgendwie rot, die von Enddate irgendwie BLau
    
    HBRUSH CBookkeepingDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
        HBRUSH hr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
        int nID=pWnd->GetDlgCtrlID();
    
        switch( nID )
        {
            case IDC_DATE:    pDC->SetTextColor(RGB(150,0,0));
                              break;
            case IDC_ENDDATE: pDC->SetTextColor(RGB(0,0,255));
                              break;
        }
    
    return hr;
    }
    


  • Danke Leute probier es gleich mal aus !


Anmelden zum Antworten