如何在Visio形状中为指定文本设置粗体加下划线?
Visio文本格式设置问题与解决方案
需求说明
仅需为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值编写代码但未成功,仅能实现全文本粗体或全文本粗体加下划线,无法单独为指定文本设置差异化格式。
解决方案
通过指定字符样式的公式值实现差异化格式:
(short)VisCellIndices.visCharacterStyle].FormulaU = "21" // value 21 = BOLD + UNDERLINE
已修改上述现有代码以应用该方案,针对PRI_SITETXT和SEC_SITETXT对应的文本区间设置样式值21(粗体+下划线),其余文本默认保持粗体格式。
内容的提问来源于stack exchange,提问作者Calibus
相关产品推荐
相关产品推荐

