我创建了一个棕色的画刷,可是画出来的矩形却是用黑白相间的花纹填充的,代码如下:void CMyView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CRect rcMap;
GetClientRect(rcMap);
CDC CCompatibleDC;
CBitmap CCompatibleBitmap;
CCompatibleDC.CreateCompatibleDC(&dc);
CCompatibleBitmap.CreateCompatibleBitmap(&CCompatibleDC,rcMap.Width(),rcMap.Height());
CCompatibleDC.SelectObject(CCompatibleBitmap);
CBrush brush;
brush.DeleteObject();
brush.CreateSolidBrush(RGB(200,150,100));
CBrush* oldBrush = NULL;
CCompatibleDC.FillSolidRect(rcMap.left,rcMap.top,rcMap.Width(),rcMap.Height(),RGB(255,255,255));
oldBrush = CCompatibleDC.SelectObject(&brush);
CCompatibleDC.Rectangle(rcMap.left,rcMap.top,70,70);
CCompatibleDC.SelectObject(oldBrush);
dc.BitBlt(rcMap.left,rcMap.top,rcMap.Width(),rcMap.Height(),&CCompatibleDC,rcMap.left,rcMap.top,SRCCOPY);
CCompatibleDC.DeleteDC();
CCompatibleBitmap.DeleteObject();
// Do not call CView::OnPaint() for painting messages
}
那位大侠帮我看看问题出在哪?
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CRect rcMap;
GetClientRect(rcMap);
CDC CCompatibleDC;
CBitmap CCompatibleBitmap;
CCompatibleDC.CreateCompatibleDC(&dc);
CCompatibleBitmap.CreateCompatibleBitmap(&CCompatibleDC,rcMap.Width(),rcMap.Height());
CCompatibleDC.SelectObject(CCompatibleBitmap);
CBrush brush;
brush.DeleteObject();
brush.CreateSolidBrush(RGB(200,150,100));
CBrush* oldBrush = NULL;
CCompatibleDC.FillSolidRect(rcMap.left,rcMap.top,rcMap.Width(),rcMap.Height(),RGB(255,255,255));
oldBrush = CCompatibleDC.SelectObject(&brush);
CCompatibleDC.Rectangle(rcMap.left,rcMap.top,70,70);
CCompatibleDC.SelectObject(oldBrush);
dc.BitBlt(rcMap.left,rcMap.top,rcMap.Width(),rcMap.Height(),&CCompatibleDC,rcMap.left,rcMap.top,SRCCOPY);
CCompatibleDC.DeleteDC();
CCompatibleBitmap.DeleteObject();
// Do not call CView::OnPaint() for painting messages
}
那位大侠帮我看看问题出在哪?
解决方案 »
- 关于远程访问sql2008数据库的问题
- VS.NET环境有什么好呢? 我就晓得里面的空间不像MFC需要我们写代码,比较智能
- 有人用过TREE VIEW控件吗,急了....
- 弱智问题,在我的CDigitalMapView类中当触发双击事件时,调用CCoolTabCtrl中的SetActivePage(int nIndex );
- 串口编程问题(Run-time error '8020':Error reading comm device)
- 关于CListCtr的两个小问题?
- 高手帮忙
- DLL函数指针
- 请问,怎样在菜单中加入图标?
- 求助(不知道该用什么标题...)
- 小问题
- CDHtmlDialog中,怎样动态绑定下拉框。。。。
brush.DeleteObject();
brush.CreateSolidBrush(RGB(200,150,100));
When a memory device context is created, GDI automatically selects a monochrome stock bitmap for it.