VC++透明矩形怎么画?
pDC->Rectangle(100,100,300,300);画了一个矩形,因为他后面还有图形,所以要使他成透明的。要简单一点的代码,详细点,谢谢还是不行,具体怎么操作...
pDC->Rectangle(100,100,300,300);画了一个矩形,因为他后面还有图形,所以要使他成透明的。要简单一点的代码,详细点,谢谢
还是不行,具体怎么操作。还有我想把矩形范围以外的图形清除掉,怎么办啊? 展开
还是不行,具体怎么操作。还有我想把矩形范围以外的图形清除掉,怎么办啊? 展开
5个回答
2007-08-25
展开全部
对不起,先想错了。
应该是对画刷的设置:
pDC->SelectStockObject (NULL_BRUSH);
这样,矩形的填充就是透明的了!
然后再画。
应该是对画刷的设置:
pDC->SelectStockObject (NULL_BRUSH);
这样,矩形的填充就是透明的了!
然后再画。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先你要定义一个笔的对象这里以画刷为例:
CBrush *pBrush;
pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH))
注意要进行强制类型转换,最后是一个空的画刷去填充矩形区域,你用默认的画刷,就会用白色去填充,这样就会覆盖之前的图形
CBrush *pBrush;
pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH))
注意要进行强制类型转换,最后是一个空的画刷去填充矩形区域,你用默认的画刷,就会用白色去填充,这样就会覆盖之前的图形
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义空画刷:selectStockObject(NULL_BRUSH);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、在view类的OnLButtonUp消息处理函数中加入:
CClientDC dc(this);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)) ;
CBrush *pOldBrush=dc.SelectObject(pBrush);//选入设备描述表
dc.Rectangle(CRect(m_ptOrigin,point));//绘制矩形
dc.SelectObject(pOldBrush);
2、只需要响应两个消息:WM_LBUTTONDOWN,和WM_LBUTTONUP即可.下面是实现的代码,其中,m_OrigPoint是我在CMFCView类中添加的CPoint类型的成员变量.
//WM_LBUTTONDOWN消息响应函数
void CMFCView::OnLButtonDown(UINT nFlags,CPoint point)
{
// TODO:在此添加消息处理程序代码和/或调用默认值
this->m_OrigPoint=point;
CView::OnLButtonDown(nFlags,point);
}
//WM_LBUTTONUP消息响应函数
void CMFCView::OnLButtonUp(UINT nFlags,CPoint point)
{
CClientDC dc(this);
dc.Rectangle(CRect(m_OrigPoint,point));
CView::OnLButtonUp(nFlags,point);
}
CClientDC dc(this);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)) ;
CBrush *pOldBrush=dc.SelectObject(pBrush);//选入设备描述表
dc.Rectangle(CRect(m_ptOrigin,point));//绘制矩形
dc.SelectObject(pOldBrush);
2、只需要响应两个消息:WM_LBUTTONDOWN,和WM_LBUTTONUP即可.下面是实现的代码,其中,m_OrigPoint是我在CMFCView类中添加的CPoint类型的成员变量.
//WM_LBUTTONDOWN消息响应函数
void CMFCView::OnLButtonDown(UINT nFlags,CPoint point)
{
// TODO:在此添加消息处理程序代码和/或调用默认值
this->m_OrigPoint=point;
CView::OnLButtonDown(nFlags,point);
}
//WM_LBUTTONUP消息响应函数
void CMFCView::OnLButtonUp(UINT nFlags,CPoint point)
{
CClientDC dc(this);
dc.Rectangle(CRect(m_OrigPoint,point));
CView::OnLButtonUp(nFlags,point);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在view类的OnLButtonUp消息处理函数中加入:
CClientDC dc(this);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)) ;
CBrush *pOldBrush=dc.SelectObject(pBrush);//选入设备描述表
dc.Rectangle(CRect(m_ptOrigin,point));//绘制矩形
dc.SelectObject(pOldBrush);
我也是在学呢,
你到底什么意思啊,如果这样就得用路径层了
CClientDC dc(this);
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)) ;
CBrush *pOldBrush=dc.SelectObject(pBrush);//选入设备描述表
dc.Rectangle(CRect(m_ptOrigin,point));//绘制矩形
dc.SelectObject(pOldBrush);
我也是在学呢,
你到底什么意思啊,如果这样就得用路径层了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询