void CTestDlg::OnNcPaint()
{
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialogEx::OnNcPaint()
CDialogEx::OnNcPaint();
CDC* pDC=GetWindowDC();
CRect rcTitle,rcWin;
GetWindowRect(rcWin);
rcTitle.left=70;
rcTitle.top=1;
rcTitle.right=rcWin.Width()-2;
rcTitle.bottom=GetSystemMetrics(SM_CYSCREEN);
HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
::DeleteObject(hBrush);
ReleaseDC(pDC);}
第二个问题:函数末尾 DeleteObject 对不对?????
第三个问题: 当对话框最小化后, 结果又恢复原来的 颜色了。
{
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialogEx::OnNcPaint()
CDialogEx::OnNcPaint();
CDC* pDC=GetWindowDC();
CRect rcTitle,rcWin;
GetWindowRect(rcWin);
rcTitle.left=70;
rcTitle.top=1;
rcTitle.right=rcWin.Width()-2;
rcTitle.bottom=GetSystemMetrics(SM_CYSCREEN);
HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
::DeleteObject(hBrush);
ReleaseDC(pDC);}
第二个问题:函数末尾 DeleteObject 对不对?????
第三个问题: 当对话框最小化后, 结果又恢复原来的 颜色了。
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
-->
CBrush hBrush;
hBrush.CreateSolidBrush(RGB(255, 0, 0));
ASSERT(hBrush.GetSafeHandle());
CBrush* pOldBr = (CBrush*)pDC->SelectObject(&bBrush);pDC->SelectObject(pOldBr);
...