>>Not really, but a good thought. The issue is that before a programmatic change to left, top, height or width, I need to save the Anchor setting and set it to 0, and then afterwards, I need to reset it to the original value. I was hoping to encapsulate all that code within the base classes, but with no way to distinguish programmatic change of size from interactive, I'm simply going to have to do that every time size is changed programmatically.
>>
>>Tamar
>
>Tamar,
>You could add a property and method in your Form class. Then use that method to resize the form, somethiing like:
>
>**** ProgramResize
>LPARAMETERS lnWidth, lnHeight
>thisform.IDoProgramaticResize = .t.
>IF VARTYPE(lnWidth) == [N]
> thisform.Width = lnWidth
>ENDIF
>
>IF VARTYPE(lnHeight) == [N]
> thisform.Height = lnHeight
>ENDIF
>thisform.IDoProgramaticResize = .f.
>
>
>Then check thisform.IDoProgramaticResize in your countrol classes.
I'm sorry, I was unclear. The programmatic resizing is mostly of things other than the form--container objects on the form.
This form isn't a typically data-entry form. It's a graphical representation of real-world objects. The user can add and remove objects, as well as move them around.
Tamar