自定义的主控形状需要用文本来指示设备的名称,但是Visio中的合成形状的文本存在于一个形状中
我在网上找到了重定位文本的方法

1.控制柄来调整文字内容的位置

主要步骤是:在Shape Sheet窗口,右键菜单—-“插入内容”—-添加“Controls”&“Text Transform”窗口
在Text Transform中的TxtPinY中改为=SETATREF(Controls.Row_1.Y)
image.png
image.png
image.png
黄色点即是控制柄,可以控制文本位置的,但是只是控制Y坐标,之后插入文本就好了

2.在Text Transform中直接修改模具的TxtPinY和TxtPinX

TxtPinX=Width(0-1)
TxtPinY=Height
(0-1)
调整至合适的值即可给图元等添加文本,可以改变文本的位置
初始位置
image.png

3.C#中的代码改变文本宽度

仅仅改变vss文件中的TxtWidth宽度,在winfrom的AxDrawingControl的图形文本宽度并不会改变
所以需要一句代码
image.png

宏中的改变文本宽度的代码是这句,然而visXFormWidth并不能完全找到,我推算应该是2
image.png
image.png

  1. shape.get_CellsSRC((short)VisSectionIndices.visSectionObject,
  2. (short)VisRowIndices.visRowTextXForm, 2).FormulaU = "Width*2";

只要改变“Width*?”就可以了

旋转文本的方向

  1. shape.get_CellsSRC((short)VisSectionIndices.visSectionObject,
  2. (short)VisRowIndices.visRowTextXForm, 6).FormulaU = "90 deg";