Wir haben einige C++ Win32-Code, der eine Hintergrundfarbe auf bestimmte Steuerelemente durch Antworten auf die WM_CTLCOLOR ... Nachrichten anwendet.CBS_DROPDOWNLIST Combo reagiert nicht auf WM_CTLCOLOR ... unter Windows UX Theming
Dies funktioniert einwandfrei, wenn Windows UX Theming nicht in Betrieb ist.
Unter Windows 7 mit dem Standardthema werden nur Comboboxen mit dem CBS_DROPDOWNLIST-Stil mit dem grauen Hintergrund des Designs angezeigt. CBS_DROPDOWN-Kombinationsfelder reagieren korrekt auf die Hintergrundfarbe, wenn das Motiv aktiviert ist.
Ich weiß, ich könnte das Thema für die betroffenen Steuerelemente entfernen, aber das macht sie seltsam aussehen.
Jeder hat eine Idee von der offiziellen Möglichkeit, die Hintergrundfarbe von einzelnen themed Kontrollen jetzt zu ändern, dass MS den WM_CTLCOLOR ... Kram gebrochen zu haben scheint.
Dank JF
Legen Sie einfach das CBS_OWNERDRAWFIXED-Stilflag fest. Das wird den thematischen Look sofort zunichte machen, du bekommst den alten Pre-Vista Stil. Ihre Benutzer könnten das ein bisschen Gitter finden, ymmv. –
Im Allgemeinen ist es keine gute Idee, die Farben von themenbezogenen Steuerelementen anzupassen, da Sie nicht wissen, welche Farben im Theme enthalten sind. Sie können also nicht wissen, ob Sie die Farben versehentlich auf "Grau auf Grau" gesetzt haben. oder etwas ähnliches. –