Permanently Group two shapes or object in Visio

Started by Networker, November 02, 2017, 05:01:18 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

vojo

if behavior = group only, you can NOT even select the background shape

You could even create actions for shape to select mode to make it simpler.
- group only
- group first
- children first

This method is pretty straight forward set of shape sheet cells and values.
(moreover, you can hide handles and such so it appears to user has uneditable shape....you then can make editable as you wish)

Also, could spoof this

Assume you got the 2 shapes where you wan tthem....can go in and use GUARD() for pinx/piny
(you would need to account for scaling your self in the formula...)
(your formula uses math to separate shapes farther as primary grows in size)

yes could select second shape....but it wont move independent of primary shape

This method will be tedious (similar trick on possibly height/width, etc) ...good luck

wapperdude

#16
Whatever method you use, the more difficult you make it for someone else to edit the group, makes it equally difficult for you.  There is no hidden, user passcode, lockout feature.

There are two more steps, (1)using layer of protection, pun intended, and (2)creating a custom property. 
     > Assign your "background" shape to a layer, and then set the layer properties to not visible.  This both hides the shape and makes it un-selectable.
     > At the group level, create a custom parameter to hide the the shape.  For example, create a User.hide, which may be true or false.  Then, use this to set the Geometry1.NoShow cell of the "background" shape.

So, you can use any or all of the following:
1)  Build a multi-geometry shape.  The side-effects are all display elements (line, fill characteristics) are common to all.  Very difficult to move individual "shapes".
2)  Use grouping
         a)  Behavior >Group properties > select group only
         b)  Protection properties > lock X-, Y- movement.
         c)  Layers > set specific layer to non-visible
         d)  Shapesheet > guard the PinX, PinY values.
         e)  Group shapesheet > create a custom parameter, preferably in the User Defined section as that requires opening the shapesheet to access the parameter.  Then, use parameter to hide / show the backround   
              shape.
3)  Use code to:
         a)  trigger and reset the position.  Again, you could add a parameter that the code 1st reads to inhibit or enable the position resetting.
         b)  if the shape itself is not the issue, but rather some functionality, "hide" the functionality in code.

I think I captured all of the suggested methods, plus the two additional that I mention.  Bottom line, you cannot 100% prevent someone from altering the shape, but you can make it increasingly difficult. 

HTH
Wapperdude
Visio 2019 Pro