Вложение:
Move by Path.gif [ 958.75 Кб | Просмотров: 1200 ]
Скажу сразу доступность этой возможности от Visio 2010 и выше, т.к. там появились функции, используемые здесь.
User.uiX=0
User.uiY=0
User.Pos = NEARESTPOINTPATH(Geometry1.Path, User.uiX, User.uiY)
Controls.TextPosition.X = SETATREF(User.uiX, SETATREFEXPR())*0 + Scratch.X1
Controls.TextPosition.Y = SETATREF(User.uiY, SETATREFEXPR())*0 + Scratch.Y1
Scratch.X1 = GUARD(POINTALONGPATH(Geometry1.Path, User.Pos))
Scratch.Y1 = GUARD(POINTALONGPATH(Geometry1.Path, User.Pos))
Если к контролу нужно привязать текстовый блок, то
TxtPinX=GUARD(SETATREF(Controls.TextPosition))
TxtPinY=GUARD(SETATREF(Controls.TextPosition.Y))
Чтобы блок текста наклонялся в соответствии с кривой, то
TxtAngel =GUARD(ANGLEALONGPATH(Geometry1.Path,User.Pos))
Взято отсюда:
http://visguy.com/vgforum/index.php?topic=6266.0;prev_next=prev#new