如何在形状中的特定文本下划线?

问题描述 投票:0回答:1

我只需要下划线+粗体

PRI_SITETXT
SEC_SITETXT
并将所有其他文本保留为粗体。

Shape SITEINFO_BOX = SITEINFO.DrawRectangle(1, 14.5, 11, 2.5);
SITEINFO_BOX.CellsU["LinePattern"].FormulaU = "0";
var PRI_SITETXT = "Primary SITE POC:";
var SEC_SITETXT = "Secondary SITE POC:";
            
    //SITEINFO_BOX.Characters.CharProps[(short)VisUIIconIDs.visIconIXUNDERLINE] = 52;

var PRI_POC = PRI_SITETXT + "\n" + TENANT_DATA_PARAM[0].pri_poc_name + "\n" +       TENANT_DATA_PARAM[0].pri_poc_email + "\n" + TENANT_DATA_PARAM[0].pri_poc_number;
var SEC_POC = SEC_SITETXT + "\n" + TENANT_DATA_PARAM[0].sec_poc_name + "\n" + TENANT_DATA_PARAM[0].sec_poc_email + "\n" + TENANT_DATA_PARAM[0].sec_poc_number;

SITEINFO_BOX.Text = PRI_POC + "\n" + "\n" + SEC_POC;

SITEINFO_BOX.CellsU["VerticalAlign"].FormulaU = "0"; // 0 = SEND TEXT TO TOP OF SHAPE
SITEINFO_BOX.CellsU["Para.HorzAlign"].FormulaU = "0";  // 0 

var POC_CHARS = SITEINFO_BOX.Characters;



var TARGET_ROW = POC_CHARS.CharPropsRow[(short)VisCharsBias.visBiasLetVisioChoose];

POC_CHARS.Begin = 0;
POC_CHARS.End = 17;
            POC_CHARS.set_CharProps((short)VisCellIndices.visCharacterColor, (short)VisDefaultColors.visBlack);
            TARGET_ROW = POC_CHARS.CharPropsRow[(short)VisCharsBias.visBiasLetVisioChoose];
            SITEINFO_BOX.CellsSRC[(short)VisSectionIndices.visSectionCharacter,
                         TARGET_ROW,
                         (short)VisCellIndices.visCharacterStyle].FormulaU = "21";

POC_CHARS.Begin = 59;
POC_CHARS.End = 78;
            POC_CHARS.set_CharProps((short)VisCellIndices.visCharacterColor, (short)VisDefaultColors.visBlack);
            TARGET_ROW = POC_CHARS.CharPropsRow[(short)VisCharsBias.visBiasLetVisioChoose];
            SITEINFO_BOX.CellsSRC[(short)VisSectionIndices.visSectionCharacter,
                         TARGET_ROW,
                         (short)VisCellIndices.visCharacterStyle].FormulaU = "21";

简而言之,虽然我希望所有文本都是粗体,但 PRI_SITETXT 和 SEC_SITETXT 也应该带有下划线。 “Char.Style”、“Char.Style[2]”等是我搞乱的,因为如果我手动将所有文本加粗并手动在主站点 POC 和辅助站点 POC 变量下划线,然后前往开发人员选项卡-> 显示形状表 -> 形状 char.style 和 char.style[2] 等都存在相应的值 21,17 等。 所以我假设如果我简单地将其添加到代码中它将是有效的,但事实并非如此。 (至少我无法弄清楚)

我可以轻松地将所有文本加粗,并轻松加粗+下划线所有文本 (

SITEINFO_BOX.CellsU["Char.Style"].FormulaU = "the appropriate value";
) 对形状内的所有文本执行这两种操作。

已解决: MSVisio 字符自定义颜色

具体语法如下:

(short)VisCellIndices.visCharacterStyle].FormulaU = "21" (value 21 = BOLD + UNDERLINE)

编辑上面的代码以反映

c# visio
1个回答
0
投票

找到答案的路径:MSVisio 字符自定义颜色

专门更换

(short)Visio.VisCellIndices.visCharacterColor].FormulaU = "RGB(40,220,40)";

(short)VisCellIndices.visCharacterStyle].FormulaU = "21";

虽然我不熟悉确定样式值背后的实际数学。值 21 = 粗体 + 下划线。值 55 是粗体 + 下划线 + 斜体。

您可以通过选择形状来找到值 开发者选项卡 -> 显示 ShapeSheet 向下滚动 ~ 35% 直到“字符”(位于左侧)并 ~ 页面中心到“样式” 在下面您将发现当前应用的值。

© www.soinside.com 2019 - 2024. All rights reserved.