把MyEllipse声明成IEllipse在试试。

解决方案 »

  1.   

    这样是可以了,但还有一个问题就是当不断击点Button3时,就是一直画椭圆的时候,画出来的椭圆的填充色有时候会变成clBtnface的时候,这不知是怎么回事。
      

  2.   

    我想填充色应该由Brush.Color决定。
      

  3.   

    //填充色就是用Brush.Color呀,下面是代码
    procedure TEllipse.Draw(HDC: Integer);
    begin
      FCanvas.Handle := HDC;
      FCanvas.Pen.Color := FPenColor;
      FCanvas.Brush.Color := FBrushColor;
      FCanvas.Ellipse(30, 20, 100, 100);
    end;
      

  4.   

    对啊,那么不就是这样了吗?还有什么问题?难道你没设clBtnface,它就画出来了?