QueryCanvas:=TCanvas.Create();
        DC := GetDC(Handle);
        //form1.Handle
        queryCanvas.Handle:=dc;
        queryCanvas.Ellipse(100,100,100+100,100+100);
//         queryCanvas.Ellipse(100,100,100,100);怎么擦除?

解决方案 »

  1.   

    很简单,不过你代码点问题,没有必要再作一个新的Canvas了,浪费资源!
    这样就好了:
    {QueryCanvas:=TCanvas.Create();
            DC := GetDC(Handle);
            //form1.Handle}
    QueryCanvas := Form1.Canvas
    //        queryCanvas.Handle:=dc;
            queryCanvas.Ellipse(100,100,100+100,100+100);
    //         queryCanvas.Ellipse(100,100,100,100);
    要清除就这样吧:
    Form1.Refresh();//Form1.Repaint() or Form1.Invalidate();