H
Servus,
ich hätte da eine Idee. Ist aber nicht sauber getestet.
in die colorbtn.h eintragen:
public:
BOOL ChangeColor(const COLORREF BGColor, const COLORREF FGColor, const COLORREF DisabledColor);
in die colorbtn.cpp eintragen:
BOOL CColorButton::ChangeColor(const COLORREF BGColor, const COLORREF FGColor, const COLORREF DisabledColor)
{
m_fg = FGColor;
m_bg = BGColor;
m_disabled = DisabledColor;
CColorButton::RedrawWindow();
return TRUE;
}
in CDeinDlg.cpp:
void CDeinDlg::OnDrueckeKnöppsche()
{
m_clButton1.ChangeColor(RGB(100,100,100), RGB(100,6,100), RGB(100,100,100));
//m_clButton1.SetWindowText("Hallo");
}
m_clButton1 ist immernoch deine Membervar vom Typ CColorButton die zu deinem Button gehört.
Was habe ich gemacht?
Ich habe jetzt einfach eine Methode eingefügt, welche die Farbmembervariablen von der Klasse überschreibt und ihn bei einem Neuzeichnen dazu zwingt die geänderten Farbwerte zu benutzen. Mit SetWindowText() provoziere ich ein Neuzeichnen.
*winke*
Hellsgore
EDIT: Jetzt zeichnet er sich selber, nach dem Aufruf von ChangeColor(), neu. Siehe CColorButton::RedrawWindow()