Sometimes,the value of property is changed,but do not go into effect at once,You can add code after set properties value.
Code example:
procedure TMainFrm.Button1Click(Sender: TObject); begin (MyCAD1.GetSelectedShape as TMyRectangle).GradientStyle:=gsLinearV; MyCAD1.GetSelectedShape.Pen.Color:=clRed; MyCAD1.Repaint; end; ;