No, I don't, and that's probably what I should be doing.

I had not expected that changing the LEFT of a control would change both X *and* Y coordinates of the enclosing group - but that is what seems to happen; and that at least makes sense - any change to the control causes an adjustment to both dimensions of the enclosing group.

The surprise now is that changing the WIDTH of that control (which I do in the previous statement), which also could change both left & right X coords of the control, didn't also have that effect. Maybe because in this case the width setting didn't actually change the values - so it optimized out actually setting them, or adjusting to allow for it.

Anyway - thanks Brian, I can now get back to my "10-minute cleanup task" that I started 8 hours ago :-)

Alex.

On 03/05/2020 16:38, Brian Milby via use-livecode wrote:
Do you have the group size/position locked (lockLocation property)? If not, 
moving a control could change the rect.

Thanks,
Brian
On May 3, 2020, 10:28 AM -0400, Håkan Liljegren via use-livecode 
<use-livecode@lists.runrev.com>, wrote:
You probably need to lock messages in the beginning of your resizeControl. 
Otherwise the group will adapt to your resizing of your controls. I usually 
begin with both lock messages and lock screen, but the last is more for 
optimization.

Håkan
On 3 May 2020, 16:22 +0200, Alex Tweedly via use-livecode 
<use-livecode@lists.runrev.com>, wrote:
I realized after the discussion last week about resizing that I was
missing the benefits of "resizeControl" being sent to each group, so I
changed one of my resize handlers to make use of groups (adding a few
groups along the way).

And it all went wrong :-(

Eventually I traced it down to the following ... and don't know if I'm
missing something or if I've bumped into a bug.

The resize handler is

on resizeControl
    set the width of field "list titles" of me to the width of me - 20
    put "B" && the rect of me && the bottom of me &CR after msg
    set the left of field "list titles" of me to 10
    put "C" && the rect of me && the bottom of me &CR after msg
    local tR
    put 10, the top of me, the right of me -10, the bottom of me-10 into tR
    set the rect of fld "List" of me to tR
end resizeControl
Note the two "put ... msg" statements. - for no reason I can figure out,
the "bottom of me" changes between these two statements. Here's the
output from the message box:

B 5,32,331,468 468
C 6,32,325,2618 2618
B 5,32,331,471 471
C 5,32,320,2622 2622
B 5,32,331,473 473
C 5,32,320,2626 2626

If I comment out that "set the left of ..." statement, all apparently
works as expected.

Why should setting the 'left' of a control change the bottom of its
enclosing group ?

And why change it to an apparently silly value ?

-- Alex.


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to