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...


Anmelden zum Antworten