在DC上刷一个椭圆型的视图上去(参考)

CRgn regRound;
regRound.CreateEllipticRgn(0,0,nMagnSize,nMagnSize);
pDC->SelectClipRgn(&regRound, RGN_COPY );


pDC->BitBlt(0, 0, clientwidth, clientheight, &dcMemory,
0, 0, SRCCOPY);
//3.Draw a frame around the "lens"
pDC->Arc( CRect(1,1,nMagnSize - 2,nMagnSize - 2), CPoint(0,0), CPoint(0,0) );
pDC->Arc( CRect(2,2,nMagnSize - 3,nMagnSize - 3), CPoint(0,0), CPoint(0,0) );



/*4. Redraw all bits in "lens" window wich are outside a frame.
We have a tail after the "lens" when moving without this step.*/
//a bitmap - copy of View window bitmap
HBITMAP hOldBmp = (HBITMAP)::SelectObject(memDC.m_hDC, bmp.m_hObject);


CRgn regRect;
regRect.CreateRectRgn(0,0,nMagnSize,nMagnSize);
pDC->SelectClipRgn(&regRect, RGN_XOR
);

pDC->BitBlt(0,0,nMagnSize,nMagnSize,&memDC,point.x-nMagnSize/2,point.y-nMagnSize/2, SRCCOPY);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值