用c++ MFC 制作一个绘图软件!怎么填充图形 可以的话各位上代码!下面是我写的代码.只能全频填充,求指导

if(m_nDrawType==ID_DRAW_FILL){CBrush*pOldBrush;CBitmap*pOldBitmap;CBrushbrush;brush.C... if(m_nDrawType==ID_DRAW_FILL)
{
CBrush* pOldBrush;
CBitmap* pOldBitmap;
CBrush brush;
brush.CreateSolidBrush(m_cFillColor);
pOldBrush=m_pMemDC->SelectObject(&brush);
pOldBitmap=m_pMemDC->SelectObject(m_pBitmap);
m_pMemDC->ExtFloodFill(point.x,point.y,m_pMemDC->GetPixel(point),FLOODFILLSURFACE);
Invalidate(FALSE);
m_pMemDC->SelectObject(pOldBrush);
m_pMemDC->SelectObject(pOldBitmap);
m_bDrawing=FALSE;
}
展开
 我来答
bhtzu
2012-06-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4197万
展开全部
CBrush* pOldBrush;
CBrush brush;
brush.CreateSolidBrush(m_cFillColor);//这个时候,刷子已经选好了,想填充什么图形,画就可以了
m_pMemDC->Rectangle(rect);//画一个矩形填充
m_pMemDC->SelectObject(pOldBrush);
更多追问追答
追问
还是不对!给我说下你的邮箱...我把源码给你发过来你帮我看看好吗?帮帮忙了
追答
后面位图的代码注销掉再看
问题是,我不清楚你要填充一个什么。如果只是普通形状,不难,你可以自己多试试。
不明白可以百度hi我
xelone
2012-06-26 · TA获得超过178个赞
知道小有建树答主
回答量:320
采纳率:0%
帮助的人:222万
展开全部
Invalidate(FALSE);这句不要,
在绘图函数中,不能有这个,它会导致系统的重新绘制窗口
你的代码本身没什么问题
填充方式由FLOODFILLSURFACE和具体图像决定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式