Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11332
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 102
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-03 15:46
文章分类
文章存档

2014年(7)

我的朋友
最近访客

分类: Web开发

2014-06-03 15:56:18

我们在程序中, 经常会遇到用代码去改变文字的问题。 一般的思维就是设置CADText.Text 。 但是使用CADText.Text =xxx不会更新视图。所以要改变dwg中文字, 需要更多的C#代码手动的刷新视图。


01 CADImage cadImage;
02 ...
03  
04 private void ChangeText(string textValue, string newValue)
05 {
06     foreach (CADEntity entity in cadImage.Converter.Entities)
07     {
08         if (entity.EntType == EntityType.Text)
09         {
10             CADText cadText = entity as CADText;
11             if (cadText.Text == textValue)
12             {
13                 cadText.Text = newValue;
14                 cadImage.Converter.Loads(cadText);
15                 cadImage.GetExtents();
16             }
17         }
18     }
19 }
另外, 提供的 CADMText 类默认就是支持多行的文字,如果你只想显示单行的文字, 唯一的办法就是先删除多行文字, 然后在新建一个MText 类, 把多行的文字拷贝过去。
阅读(1035) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~