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还有什么性质??
展开
 我来答
jckwka
2011-01-29 · TA获得超过1414个赞
知道小有建树答主
回答量:1119
采纳率:0%
帮助的人:830万
展开全部
可能是你的代码编写有疏忽的地方,首先检查你的画笔CPen是否选入到了设备环境中,另外,在使用兼容的DC时,需要注意,兼容DC并不包括你原始DC的一些颜色数据,所以你需要在次使用函数BitBlt(当然也可以是其他函数)将原始DC的颜色资料选入到兼容DC中.简单来说就是,你在调用一次BitBlt函数(或者是相关的函数).
匿名用户
2011-01-28
展开全部
你问我我问谁去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪若鸢
2011-02-04
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
可能是你的代码编写有疏忽的地方,首先检查你的画笔CPen是否选入到了设备环境中,另外,在使用兼容的DC时,需要注意,兼容DC并不包括你原始DC的一些颜色数据,所以你需要在次使用函数BitBlt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oqoqws
2011-02-09
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
我是无奈下发的:我是一个叫冰枫的男孩,前几天,我晚自习回家,被一辆大卡车撞死了,司机将我的尸体抛入了路径边的小河里,然后逃走了。你看见了这条消息后 ,请将她发给4个论坛,如果没有发,你的妈妈会在1个月后被车撞死,你的爸爸会得绝症,如果你照着上面做了,在5天后,你喜欢的人也会喜欢你,对不起大家不无意中看评论看 到了 这个吓死我了。不管是真是假我都害怕!所以只能乱发了`!对不起啊`!我真不想害人的(转发的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式