文字对象都一个TextStyle属性,用这个属性可以设置,或取到文字对象的文字样式。
下面代码演示设置一个文字对象的字体为黑体,如果没有文字样式,就添加文字样式。
void SetTextStyle()
{
MxDrawUtility mxUtility = new MxDrawUtility();
// 当用户在图上选择一个对象。
MxDrawPoint getPt;
MxDrawEntity ent = mxUtility.GetEntity(out getPt, "\n 选择实体对象:");
if (ent == null)
{
return;
}
// 得到数据库对象.
MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
// 得到文本式表.
MxDrawTextStyleTable textStyleTable = database.GetTextStyleTable();
string sTextStyleName = "MyTextStyleName";
// 得到文本式
MxDrawTextStyleTableRecord textStyle = textStyleTable.GetAt(sTextStyleName, true);
if (textStyle == null)
{
// 如果没有就新建一个。
axMxDrawX1.AddTextStyle2(sTextStyleName, "黑体", 0.7);
}
else
{
// 如果被删除,就反删除。
textStyle.SetProp("unErase", null);
textStyle.SetFont("黑体", false, false, 0, 0);
}
// 设置实体文字样式。
ent.TextStyle = sTextStyleName;
MessageBox.Show("已将该实体文字样式");
}