Systemfarbe abfangen.
-
Hi @all,
ich hab da mal ne Frage. Wie kann ich die Systemfarbe abfangen?
Ich hab nämlich folgendes Problem. Einige Steuerelemente werden im Dialogfeld so dargestellt, dass sie immer die Systemfarbe haben z.B. die Linie einer Groupbox oder der Pfeil einer ComboBox.
Irgendwo im Programm muß ja doch den Komponenten gesagt werden wie die Systemfarbe aussieht.
Demzufolge muß es ja auch möglich sein diese irgendwo abzufangen und eine "Ersatzfarbe" dafür weiter zu leiten.
Oder seh ich das Falsch?
-
Theoretisch, wenn du die Farbe von nem Buttom ändern willst, kannst du ja ne eigene Klasse von CButtom ableiten und dann OnPaint überschreiben
-
Habe bei Codeguru eine ComboBox-Klasse gefunden. Diese wird abgeleitet von CComboBox. Die Farbveränderung darin sind in der CtlColor.
if(IsWindowEnabled()) { pDC->SetTextColor(m_crFGEnabled); pDC->SetBkColor(m_crBGEnabled); return *m_pbrushEnabled; } else { pDC->SetTextColor(m_crFGDisabled); pDC->SetBkColor(m_crBGDisabled); return *m_pbrushDisabled; }Aber das kann ich auch ohne die Klasse (in OnCtlColor). Damit läßt sich ja nur der Hintergrund bzw. die Textfarbe ändern. Ich möchte aber den Pfeil links farblich ändern.
Wie muß ich das machen?