我新建了一个类,用于画一些图,但是我发现,我在view类用这个类的对象调用这个画图函数来绘图,结果,点的坐标不是我鼠标点下的坐标这是新的类的绘制函数,我用来绘制一些点阵组成的字符
bool CTextPut::DoText(CPoint writepoint,CDC* pDC)
{ CPoint CDpoint=writepoint;
int i,j;
for(i=0;i<16;i++)
{
for(j=0;j<16;j++)
{
if(chen[i][j]==1)
{
pDC->SetPixel(CDpoint,RGB(255,0,0));
}
CDpoint.x++;
}
CDpoint.x=writepoint.x;
CDpoint.y++;
};
return true;
}下面的是我的视类鼠标事件里面的代码
CDC *pDC=GetDC();
CTextPut word;
word.DoText(point,pDC);
ReleaseDC(pDC);大神指教一下
bool CTextPut::DoText(CPoint writepoint,CDC* pDC)
{ CPoint CDpoint=writepoint;
int i,j;
for(i=0;i<16;i++)
{
for(j=0;j<16;j++)
{
if(chen[i][j]==1)
{
pDC->SetPixel(CDpoint,RGB(255,0,0));
}
CDpoint.x++;
}
CDpoint.x=writepoint.x;
CDpoint.y++;
};
return true;
}下面的是我的视类鼠标事件里面的代码
CDC *pDC=GetDC();
CTextPut word;
word.DoText(point,pDC);
ReleaseDC(pDC);大神指教一下
{
pDC->SetPixel(CDpoint,RGB(255,0,0));
}
CDpoint.x++;这个chen[i][j]如果不是一,那你的cpoint.x就++了,位置就不是你点的那个了。
for(i=0;i<16;i++)
{
for(j=0;j<16;j++)
{
if(chen[i][j]==1)
{
CDpoint.x = writepoint.x+j;
CDpoint.y = writepoint.y+i;
pDC->SetPixel(CDpoint,RGB(255,0,0));
}
}
}
画点阵的代码这么写会不会简单明了点,出问题的话也好调试