Schriftfarbe eines deaktivierten Edit-Steuerelements



  • Hallo Leute,

    ich verzweifle gerade an einem trivialen Problem.
    Wie verändert man die Schriftfarbe eines deaktivierten Edit-Steuerelements in einem Formular.

    Gruß Rainer
    😕



  • Ich habe es noch nicht ausprobiert, aber es müßte mit OnCtlColor gehen. Also genauso wie auch im aktivierten Zustand und mit so vielen anderen Controls.



  • Mit OnCtlColor kann ich die Vorder- und Hintergrundfarbe eines aktivierten Steuerelements und auch die Hintergrundfarbe eines deaktivierten Steuerelements verändern. Aber leider nicht die Textfarbe eines deaktivierten Steuerelements.

    Gruß
    Rainer



  • Servus,

    Ich glaube dein Verlangen ist, dass keiner mehr auf das Editfeld zugreifen kann aber der Text Schwarz angezeigt wird, mit einem grauen Hintergrund. Dann klicke mal auf Eigenschaften von deinem Editfeld und setze mal ReadOnly auf TRUE und Disabled auf FALSE. Dann kannst du auch mit:

    HBRUSH CDeinDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    	if (pWnd->GetDlgCtrlID()==IDC_DEINEDIT)
        {
    		pDC->SetTextColor(RGB(255,0,0)); //Textfarbe
    		pDC->SetBkMode(TRANSPARENT);
        }
    	return hbr;
    }
    

    deine Textfarbe verändern.... (MSG: WM_CTLCOLOR)

    *winke*
    Hellsgore



  • Das würde schon funktionieren - bloß ein schreibgeschütztes Eingabefeld mit blinkenden Kursor sieht schon etwas blöd aus - oder !?

    Gruß
    Rainer


Anmelden zum Antworten