MFC画一个透明的矩形框

2025-01-19 13:02:10
推荐回答(3个)
回答1:

你可以用画线的方法代替画矩形,画四条直线就可以了,起点和终点都知道画起来很容易。

回答2:

在OnDraw(CDC *pDC)函数中
int nSavedDC = pDC->SaveDC();
COLORREF col = RGB(255,0,0);
CPen pen(PS_SOLID,2,col);
pDC->SelectObject(&pen);
(CBrush*)pDC->SelectStockObject(NULL_BRUSH);//空心的笔
pDC->Rectangle(&rect);
pen.DeleteObject();
pDC->RestoreDC(nSavedDC);

回答3:

OnLButtonDown OnLButtonUp只是做标记和释放吧,标记不做也可以,在Move里面可以获取鼠标状态。
OnMouseMove里面,需要用dc的函数SetROP2(R2_NOT);先设置绘画模式就可以了,这样后面画矩形就是透明的。