You can move code into custom form method AddShape and pass nXCoord,nYCoord as parameters in the call to it.
>I apologize for coming back to this issue, but I am stumped and need your help, so I thought I would restate the problem.
>
>I am attempting to write an application with a map on a form. The map is larger than the screen. When a user clicks on the map a shape appears. The code for that is located in the map image mouseup procedure. The code works fine. When the mouse is clicked a shape appears on the map where the click occurred. Here is the code that works.
>
>
>If nButton = 1 AND VARTYPE(Sys(1270))=='O' AND Sys(1270)=m.this
> Thisform.AddObject( Sys(2015), "shape")
> With Thisform.Controls[thisform.ControlCount]
> .Move(nXCoord,nYCoord,25,25)
> .Curvature = 99
> .BackColor = 255
> .BackStyle = 1
> .borderwidth = 2
> .bordercolor = 65535
> .SpecialEffect = 0
> .ToolTipText = "Crime scene"
> .Visible = .T.
> Endwith
>Endif
>
>
>However, a user would only place one shape on the map every day or two. So, when the application is started a second, third, or fourth time the user opens a table and the coordinates of previous shapes on the map are available for loading and display of the shapes. I have the file loading code written.
>
>Can the code above be easily altered to ‘refresh’ the map with the previous shapes using the ‘right click’ procedure of the map?
--sb--