非客户绘图失败,大神帮忙啊
时间:2011-12-03
来源:互联网
             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 对不对?????
第三个问题: 当对话框最小化后, 结果又恢复原来的 颜色了。。。。。。。。。。。。。。。。。。。
作者: caddor 发布时间: 2011-12-03
             HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
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);
...
            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);
...
作者: VisualEleven 发布时间: 2011-12-03
             请问 DeleteObject 对不对??????
            
  引用 1 楼 visualeleven 的回复:
  
HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
-->
CBrush hBrush;
hBrush.CreateSolidBrush(RGB(255, 0,……
            HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
-->
CBrush hBrush;
hBrush.CreateSolidBrush(RGB(255, 0,……
作者: caddor 发布时间: 2011-12-03
当对话框最小化后, 结果又恢复原来的 颜色了。。。。。。。。。。。。。。。。。。。
这怎么办??????
  引用 1 楼 visualeleven 的回复:
  
HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
-->
CBrush hBrush;
hBrush.CreateSolidBrush(RGB(255, 0,……
            HBRUSH hBrush=::CreateSolidBrush(RGB(255,0,0)); //创建画刷
pDC-> SelectObject(); //这一行怎么修改,需要参数类型是CBrush
pDC-> FillRect(rcTitle,&brbak);
-->
CBrush hBrush;
hBrush.CreateSolidBrush(RGB(255, 0,……
作者: caddor 发布时间: 2011-12-03
 相关阅读 更多  
      
    热门阅读
-  
 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
          阅读:74
 -  
 如何安装mysql8.0
          阅读:31
 -  
 Word快速设置标题样式步骤详解
          阅读:28
 -  
 20+道必知必会的Vue面试题(附答案解析)
          阅读:37
 -  
 HTML如何制作表单
          阅读:22
 -  
 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
          阅读:31
 -  
 ET文件格式和XLS格式文件之间如何转化?
          阅读:24
 -  
 react和vue的区别及优缺点是什么
          阅读:121
 -  
 支付宝人脸识别如何关闭?
          阅读:21
 -  
 腾讯微云怎么修改照片或视频备份路径?
          阅读:28
 















