CDC memdc;
CBitmap bmp,*pOldBitmap;
memdc.CreateCompatibleDC(&dc);
bmp.CreateCompatibleBitmap(&dc,150,70);
pOldBitmap = memdc.SelectObject(&bmp);
memdc.FillSolidRect(0,0,150,70,RGB(0,0,255)); //蓝色
BLENDFUNCTION bf;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.SourceConstantAlpha = 0x0b;//0x7f; //半透明
bf.AlphaFormat = 0;
AlphaBlend(dc.GetSafeHdc(),point.x,point.y,150,70,memdc.GetSafeHdc(),0,0,150,70,bf); memdc.SelectObject(pOldBitmap);
我想这个透明矩形随着我的鼠标移动,但是我无法擦除先前画出的矩形。请问怎么办?
CBitmap bmp,*pOldBitmap;
memdc.CreateCompatibleDC(&dc);
bmp.CreateCompatibleBitmap(&dc,150,70);
pOldBitmap = memdc.SelectObject(&bmp);
memdc.FillSolidRect(0,0,150,70,RGB(0,0,255)); //蓝色
BLENDFUNCTION bf;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.SourceConstantAlpha = 0x0b;//0x7f; //半透明
bf.AlphaFormat = 0;
AlphaBlend(dc.GetSafeHdc(),point.x,point.y,150,70,memdc.GetSafeHdc(),0,0,150,70,bf); memdc.SelectObject(pOldBitmap);
我想这个透明矩形随着我的鼠标移动,但是我无法擦除先前画出的矩形。请问怎么办?
在OnDraw里面画鼠标移动时,计算出当前位置然后调用Invalidate(CRect)函数刷新