Problem mit COLOR_BTNFACE+1



  • Hi,
    um den Windows-Grauton zu erhalten nehme ich in der WndClass ((HBRUSH)(COLOR_BTNFACE+1)), aber was mache ich bei SetBkColor()? So gehts ja nicht:

    SetBkColor(hDC, (HBRUSH)(COLOR_BTNFACE+1));

    Weil der 2. Parameter ja ein Colorref Wert sein muss

    Hat jemand eine idee, was ich da machen muss?



  • Hi,
    ich glaube GetSysColor( COLOR_BTNFACE+1 ) ist was du suchst.

    lg Flori



  • Danke, lĂ€uft einwandfrei!

    Wichtig: Hier ist es nicht COLOR_BNTFACE + 1, sondern nur COLOR_BNTFACE, fragt mich nicht wieso 😉


  • Mod

    Anomyouse123 schrieb:

    Danke, lÀuft einwandfrei!

    Wichtig: Hier ist es nicht COLOR_BNTFACE + 1, sondern nur COLOR_BNTFACE, fragt mich nicht wieso 😉

    1. Ist das nicht so dokumentiert: Siehe Doku SetBkColor. Du mĂŒsstest also korrekterweise zuerst GetSysCoOlor ausfĂŒhren.
    2. EIn cast auf HBRUSH ist nur im Fale der Fensterklasse zulÀssig!



  • Martin Richter schrieb:

    2. EIn cast auf HBRUSH ist nur im Fale der Fensterklasse zulÀssig!

    Nö, das ist auch woanders zulĂ€ssig. Schau Dir z.B. mal die Remarks in der Dokumentation von FillRect an, da funktioniert das ebenfalls. Aber gut, fĂŒr SetBkColor hilft das reichlich wenig...


Log in to reply