Visio Guy

Visio Discussions => ShapeSheet & Smart Shapes => Topic started by: bhughes89 on April 12, 2018, 09:48:07 PM

Title: Callout Maintaining Position Relative To Connected Shape
Post by: bhughes89 on April 12, 2018, 09:48:07 PM
Hey Guys/Gals,

First off
Long time lurker, first time poster. Huge thanks to all you pros out there! I've found an incredible amount of solutions to my issues via this forum, can't thank you all enough!  ;D


My problem:
I'm designing several callout shapes with leaders (balloon, text, etc.) similar to what you'd find in electrical/mechanical drawings. I want these callouts to behave such that when the ends of their leaders are glued to another shape, the callout will move with the shape if the shape is moved. In other words, I want the callout to maintain its proximity/distance/positioning with respect to the shape it is glued to.

I know the easiest way to do this really is to just group the callout with whatever it is attached to. However, I am looking to mimic CAD programs and make it as simple as possible for users who may not be that familiar with Visio. Plus, it'd be really cool to implement a smart shape that could do this  8)


What I've Tried So Far:
My first thought was to Add Configure Callout Functionality (https://blog.bvisual.net/2014/04/08/adding-configure-callout-functionality-to-visio-callouts/) to my callout shapes, similar to the "Custom Callout" masters in the standard "Callouts" stencil. These masters behave exactly how I want my callouts to behave, partly by running the Configure Callout ("cc") add-on to create associative formulas in the ShapeSheet:
User.ccAssociate = DEPENDSON(Controls.Row_1,Controls.Row_1.Y)+RUNADDONWARGS("cc","/cmd=2")

However, I have a few problems with this:



Any ideas on how to best make this happen?
Is there a way to do this using the ShapeSheet only (preferred)?
Or would I need to write some code?



Currently using Visio Standard 2016 on a 64-bit machine.

Thanks!!