SetDialogBkColor Fehlermeldung ?



  • Folgenden Fehler erhalte ich seit ich .Net habe:

    C:\Programme\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\afxwin2.inl(1040): error C2039: 'SetDialogBkColor': Ist kein Element von 'CWinApp'

    Wer kann helfen ?



  • kennt also auch keiner die Lösung zum problem 😞
    muss ich eben immer alles als debug weiter geben und
    nicht release version.



  • Servus,

    deine Klasse in der sich dieser Aufruf befindet, wird wohl keine Klasse und auch keine geerbte Klasse von CWinApp sein.

    CObject
    |  |
    |   - CCmdTarget
    |     |
    |      - CWinThread
    |        |
    |         - CWinApp...
     - CWnd
       |
        - CDialog...
    etc.
    

    Den Dialog kannst du auch mit OnCtlColor einfärben:

    Bsp.:

    HBRUSH CDeinDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    
    	if (nCtlColor == CTLCOLOR_DLG) 
    	{
                 HBRUSH B = CreateSolidBrush(RGB(0,0,64)); //Hintergrundfarbe
                 return (HBRUSH) B;
    	}
    	return hbr;
    }
    

    *winke*
    Hellsgore



  • Hallo,

    das Übel ist ja, dass ich nix mit einfärben o.ä.
    gemacht habe. Habe die dialogb.Anwendung ganz
    normal erstellt und bekomme diesen blöden Fehler 😞

    Besonders oft passiert das auch bei Projekten die ich
    vom alten Compiler 6.0 übernehme. Und auch da wurde
    nix mit Color bearbeitet. 😡

    Kann eine der Dateien vom Compiler defekt sein ?
    ->afxwin2.inl 😕 und warum überhaubt "2"
    ist das nicht gewöhnlich "afxwin.inl"



  • Hallo,

    es stimmt irgendetwas mit deinen Einstellungen nicht, denn die Funktion SetDialogBkColor wird in Visual Studio .NET 2003-MFC nicht mehr unterstützt:

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cwinapp.3a3a.setdialogbkcolor.asp

    Da die Funktion aber bei dir trotzdem aus irgendeinem Grund gesucht/kompiliert wird (und da du sie nicht selbst aufrufst, wie du schreibst, deshalb Vorsicht bei alten VC6-Projekten, die diese Funktion verwenden), vermute ich ein Konfigurations-Problem (hast du parallel VC6 und Visual Studio .NET 2003 installiert?), evtl. in den Einstellungen/der Reihenfolge der zu verwendenden #include-Verzeichnisse (wird irgendwo noch auf die alten VC6-#includes verwiesen?)

    MfG


Anmelden zum Antworten