pDC->SetTextColor geht nicht mehr in OnCtlColor(..) - Visual Studio 2019



  • Hallo zusammen,

    Die Funktion "SetTextColor(..)" geht in Visual Studio 2019 nicht mehr.
    Unter Visual Studio 2005 und auch unter Windows CE 6 geht das alles.
    Auch läuft die unter VS2005 erstellte Version einwandfrei.

    Laut eines Forum-Eintrags in der "developercommunity" ist Microsoft nicht Willens oder/und nicht in der Lage,
    diesen Bug?? zu fixen.
    https://developercommunity.visualstudio.com/t/OnCtlColor-not-working-to-change-text-co/10180190?q=spell+check

    Meine bisher funktionierende Methode:

    HBRUSH CDialogWtransStart::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
    {
        HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    //#define mySignalColor RGB(170,170,170)  // grau (Original)
    //#define mySignalColor RGB(255,0,0)    // rot
    	COLORREF mySignalColor = RGB(255, 0, 0);
    	COLORREF color;
    
        if(m_pA){
            switch(pWnd->GetDlgCtrlID())
            {
            case IDC_CHECK_ID1:
                if((m_pWtransWork2->wtrans_Vorbelegung[0] == 2) || (m_pWtransWork2->wtrans_Vorbelegung[0] == 3))
                    color = pDC->SetTextColor(mySignalColor); // "color" erhält Wert 0, es ändert sich aber nichts!
                break;
            case IDC_CHECK_ID2:
                if((m_pA->Vorbelegung[1] == 2) || (m_pA->_Vorbelegung[1] == 3))
                    pDC->SetTextColor(mySignalColor); // so auch keine Änderung mehr (Original)
                break;
    		...
    

    Weiss jemand einen Rat?
    Es ist einmal wichtig, dass diese Methode zyklisch aufgerufen wird.
    Aber auf das Checkbox-Ctrl selbst kann ich nicht zugreifen.

    Vielen Dank


Anmelden zum Antworten