MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 请大家帮忙帮小弟我看一段代码,多谢了

请大家帮忙帮小弟我看一段代码,多谢了

www.myexceptions.net  网友分享于:2013-04-10  浏览:3次
请大家帮忙帮我看一段代码,谢谢了
void draw(CStatic *pstatic ,CStatic *qstatic ,int **flag)//参数是两个控件和一个矩阵
{
CRect lRect;
pstatic->GetWindowRect(&lRect);
lRect.NormalizeRect();
CRect rRect;
qstatic->GetWindowRect(&rRect);
rRect.NormalizeRect();
int dis=rRect.left-lRect.left;

for(int i=lRect.left;i<=lRect.right;i++)
{
for(int j=lRect.top;j<=lRect.bottom;j++)
{
if(flag[i][j]==1)
{
 HDC hDC = ::GetDC(NULL);
 COLORREF clr = ::GetPixel(hDC,i, j );
 int red = GetRValue(clr);
 int blu = GetBValue(clr);
 int gre = GetGValue(clr);
 ::ReleaseDC(NULL, hDC);
 CClientDC dc(qstatic);
 dc.SetPixel(i+dis,j,RGB(red,gre,blu));
}
}
}
}
这个函数主要是想实现把一个控件中的图符合条件的部分复制到另一个控件中.矩阵的修改在另一个函数中,可以正确赋值.但是最终结果就是不能在第二个控件上正常绘制出图片来,甚至连原来控件上的图也没了.我刚学没多久,也不知道是什么问题,请大家帮忙帮我看看,谢谢了

------解决方案--------------------
正常绘制出图片来?
GDI的绘制是要用CBitmap和CDC一起互动的啊
我只看到了SetPixel
------解决方案--------------------
CClientDC dc(qstatic); 
这个你放到for循环之外。。。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有