vc 兼容dc 为什么不能选入画笔颜色宽度
CClientDCdc(this);CBrush*pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(HOLLOW_BRUS...
CClientDC dc(this);
CBrush* pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(HOLLOW_BRUSH));
CPen pen(PS_SOLID,m_nPenWidth,m_clr);
dc.SelectObject(pBrush);
dc.SelectObject(&pen);
int oldRop=dc.SetROP2(R2_NOTXORPEN );
if(!m_DCcompatible.m_hDC)
{
m_DCcompatible.CreateCompatibleDC(&dc);
CRect rect;
GetClientRect(&rect);
CBitmap bitmap;
bitmap.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
m_DCcompatible.SelectObject(&bitmap);
m_DCcompatible.SelectObject(pBrush);
m_DCcompatible.SelectObject(&pen);
m_DCcompatible.BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
}
这是我定义的dc和兼容dc,为什么当我窗口重绘的时候画笔的颜色和宽度都变成默认了呢???????我搞不懂了???是不是兼容dc还有什么性质?? 展开
CBrush* pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(HOLLOW_BRUSH));
CPen pen(PS_SOLID,m_nPenWidth,m_clr);
dc.SelectObject(pBrush);
dc.SelectObject(&pen);
int oldRop=dc.SetROP2(R2_NOTXORPEN );
if(!m_DCcompatible.m_hDC)
{
m_DCcompatible.CreateCompatibleDC(&dc);
CRect rect;
GetClientRect(&rect);
CBitmap bitmap;
bitmap.CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
m_DCcompatible.SelectObject(&bitmap);
m_DCcompatible.SelectObject(pBrush);
m_DCcompatible.SelectObject(&pen);
m_DCcompatible.BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
}
这是我定义的dc和兼容dc,为什么当我窗口重绘的时候画笔的颜色和宽度都变成默认了呢???????我搞不懂了???是不是兼容dc还有什么性质?? 展开
2011-01-28
展开全部
你问我我问谁去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能是你的代码编写有疏忽的地方,首先检查你的画笔CPen是否选入到了设备环境中,另外,在使用兼容的DC时,需要注意,兼容DC并不包括你原始DC的一些颜色数据,所以你需要在次使用函数BitBlt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我是无奈下发的:我是一个叫冰枫的男孩,前几天,我晚自习回家,被一辆大卡车撞死了,司机将我的尸体抛入了路径边的小河里,然后逃走了。你看见了这条消息后 ,请将她发给4个论坛,如果没有发,你的妈妈会在1个月后被车撞死,你的爸爸会得绝症,如果你照着上面做了,在5天后,你喜欢的人也会喜欢你,对不起大家不无意中看评论看 到了 这个吓死我了。不管是真是假我都害怕!所以只能乱发了`!对不起啊`!我真不想害人的(转发的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询