查看完整版本: 请教:CW中的RectangleType类型

大量 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]]

eCool 2007-7-18 23:35

毫无疑问gDrawRect要赋一个初始值的

木帳? 2008-5-31 20:41

太精彩了!,楼主辛苦了!
页: [1]
查看完整版本: 请教:CW中的RectangleType类型