大量 2007-7-15 09:50
请教:CW中的RectangleType类型
在一个画线的程序中用RectangleType gDrawRect定义了画线的范围,下面是画线的部分代码:
case penDownEvent:
if(RctPtInRectangle(event->screenX,
event->screenY,&gDrawRect))
{
gX=event->screenX;
gY=event->screenY;
gPenDown=true;
handled=true;
//WinDrawLine(0,0,100,100);
}
break;
case penMoveEvent:
if(RctPtInRectangle(event->screenX,
event->screenY,&gDrawRect)&&
gPenDown)
{
Int16 newX=event->screenX;
Int16 newY=event->screenY;
WinDrawLine(gX,gY,newX,newY);
pointX[i]=gX;
pointY[i]=gY;
i++;
if(i>=100)
{for(i=0;i<=50;i++)
WinEraseLine(pointX[i],pointY[i],pointX[i+1],pointY[i+1]);
i=0;
}
gX=newX;
gY=newY;
handled=true;
}
break;
case penUpEvent:
if(RctPtInRectangle(event->screenX,
event->screenY,&gDrawRect)&&gPenDown)
{
Int16 newX=event->screenX;
Int16 newY=event->screenY;
WinDrawLine(gX,gY,newX,newY);
gX=gDrawRect.topLeft.x;
gY=gDrawRect.topLeft.y;
gPenDown=false;
handled=true;
}
break;
有if条件语句存在的时候画不出线,删去之后就能画了,不过是全屏的。是不是变量gDrawRect需要赋值呢?怎么限定画线的区域?谢谢[/i][/i][/i][/i]
[[i] 本帖最后由 大量 于 2007-7-15 09:52 编辑 [/i]]