在《Learn the MFC C++ Classes》书中第48页的例子中,改变窗口的颜色的代码是这样的:
C_MainFrame::C_MainFrame()
{
HBRUSH hredBrush = ::CreateSolidBrush(RGB(255,0,0));
CString MyWindowClass = AfxRegisterWndClass(
CS_DBLCLKS|CS_HREDRAW|CS_VREDRAW,
AfxGetApp()->LoadStandardCursor(IDC_UPARROW), hredBrush,
AfxGetApp()->LoadStandardIcon(IDI_EXCLAMATION));
Create(MyWindowClass, "Main Window C");
::DeleteObject(hredBrush);
}
在windows xp中并不能显示出RGB(255,0,0)及红色,但在windows 3.1中是可以显示红色的
通过实验发现关键在于
::DeleteObject(hredBrush);
这一句。