That's all fine, but now if you want another window to have the same type of
dialog. Wouldn't it be easier if it was in the edit control?
AliR.
"GT" <ContactGT_removeme_@hotmail.com> wrote in message
news:46093aa8$0$17256$c3e8da3@news.astraweb.com...
I have some read only CEdit controls on a dialog, but they appear grey. I
would like them to be white. I tried subclassing CEdit and adding the
following method (m_brBackgroundBrush is a plain white brush), but they
are still grey - any ideas? Should I overwrite the OnPaint or OnDraw
method perhaps?
BOOL CEditWhite::OnEraseBkgnd(CDC* pDC)
{
BOOL returnVal = CEdit::OnEraseBkgnd(pDC);
CRect rect;
GetClientRect(&rect);
// Tile the watermark bitmap over the screen
pDC->FillRect(&rect, &m_brBackgroundBrush);
return returnVal;
}
OK, I've managed to get the background to change color. Don't need to
specialise from CEdit at all - just use the CtlColor method in the main
dialog code, a snippet:
HBRUSH ViewSummary::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
switch (nCtlColor)
{
case CTLCOLOR_EDIT: // 1
case CTLCOLOR_STATIC: // 6
// Set color to green on black and return the background brush.
pDC->SetTextColor(RGB(0, 0, 0));
pDC->SetBkColor(RGB(255, 255, 255));
pDC->getb
return m_brBackgroundBrush;
Now I would like to take this further and use the system theme background
color, so my background window color matched all other windows on the
system. How can I get the RGB value for the current theme background color
and text color?