mfc中,怎么能让设置的窗口区域在客户区内显示?

创建一个对话框程序载入一个自己创建的位图最后设置窗口区域的时候,为什么载入的位图是在标题栏那里开始的?下面是全部代码CBitmapbmp;//创建一个位图对象bmp.Lo... 创建一个对话框程序
载入一个自己创建的位图
最后设置窗口区域的时候,为什么载入的位图是在标题栏那里开始的?
下面是全部代码
CBitmap bmp; //创建一个位图对象
bmp.LoadBitmapW(IDB_BITMAP2); //载入自己创建的位图
CDC * pDC = GetWindowDC(); //创建一个指向包括标题栏的DC指针
CDC newDC; //创建一个DC
newDC.CreateCompatibleDC(pDC); //和主DC兼容
newDC.SelectObject(&bmp); //替换位图
CRect rw; //创建一个矩形结构
GetClientRect(&rw); //获取窗口客户区的坐标。
CRgn r1, r2;
r1.CreateRectRgnIndirect(&rw); //创建一个矩形对象并存储在CRgn对象中。
//创建一个循环,获得位图区域
for (int x=0; x<rw.right; x++)
{
for (int y=0; y<rw.bottom; y++)
{
if (newDC.GetPixel(x, y) == newDC.GetPixel(0,0))
{
r2.CreateRectRgn(x, y, x+1, y+1);
r1.CombineRgn(&r1, &r2, RGN_XOR);
r2.DeleteObject();
}
}
}
CBrush bsh(0xff);
pDC->FillRgn(&r1, &bsh);
SetWindowRgn(r1, 1);
}
展开
 我来答
归悦欣cf
2015-05-02 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1324万
展开全部
不能使用GetWindowDC获取DC,使用GetDC就可以了.不同的DC绘制的范围不同.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式