明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 401|回复: 9

请教com方式, c#语言,添加文字样式, 字体为华文楷体

[复制链接]
发表于 2023-8-7 09:47 | 显示全部楼层 |阅读模式
如题请教下, com方式创建一个新的文字样式,想使用华文楷体, 我写的路径是"C:\Windows\Fonts\STKAITI.TTF",
但是创建完后打开CAD看到的文字样式中字体是@华文楷体,导致写的文字都是字头向左了,用的是CAD2012机械版,  请问有没有小伙伴遇到过这样的问题 ,是怎么解决的

 楼主| 发表于 2023-8-7 09:48 | 显示全部楼层
请问是否是字体前面加@,这是在哪里控制的呢
发表于 2023-8-7 12:02 | 显示全部楼层
SetFont方法(ActiveX)
设置TextStyle字体的定义数据。
支持的平台:仅Windows

VBA:
object.SetFont Typeface, Bold, Italic, CharSet, PitchAndFamily

……字体的设置我只会VBA,所以不清楚c#怎么写,按com方式,感觉应该差不多。
发表于 2023-8-7 12:23 | 显示全部楼层
加@文字是倒的,不加才正常
 楼主| 发表于 2023-8-7 16:06 | 显示全部楼层
chixun99 发表于 2023-8-7 12:02
SetFont方法(ActiveX)
设置TextStyle字体的定义数据。
支持的平台:仅Windows

谢谢大神, 用setfont可以的, 只是遇到新的问题,我将原来的文字设置成新的文字样式后, 文字改样式了,文字的宽度因子没有改成对应的新文字样式中的宽度因子, 不知道您遇到过这种情况没.我手动操纵是切换成别的文字样式, 在切换回来才可以
 楼主| 发表于 2023-8-7 16:07 | 显示全部楼层
4551986 发表于 2023-8-7 12:23
加@文字是倒的,不加才正常

谢谢回复, 是的, 用fontfile我设置直接出来就是加@的, 我想要的是不加@,用那个方法就不知道该怎么区分是否加@
 楼主| 发表于 2023-8-8 08:57 | 显示全部楼层
解决了, 需要将新建的样作为当前样式, 然后再创建文字
发表于 2023-8-8 19:28 | 显示全部楼层
elepeipei 发表于 2023-8-7 16:06
谢谢大神, 用setfont可以的, 只是遇到新的问题,我将原来的文字设置成新的文字样式后, 文字改样式了,文字 ...

宽度比例(因子)也是可以在样式设置的,不过有些图元已经设置了独立的比例因子就需要单独处理,不能跟样式同步变化。就是样式的比例和图元的比例要分开设置。
 楼主| 发表于 2023-8-9 08:13 | 显示全部楼层
chixun99 发表于 2023-8-8 19:28
宽度比例(因子)也是可以在样式设置的,不过有些图元已经设置了独立的比例因子就需要单独处理,不能跟样 ...

嗯嗯是的,谢谢大神回复, 我昨天出现那个问题应该是因为我先创建了文字后选的文字样式,应该是先创建文字样式并置为当前, 再创建文字就可以了
发表于 2023-8-10 18:01 | 显示全部楼层
elepeipei 发表于 2023-8-9 08:13
嗯嗯是的,谢谢大神回复, 我昨天出现那个问题应该是因为我先创建了文字后选的文字样式,应该是先创建文字样 ...

是的先创建,当前样式是默认创建对象的样式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-4 23:44 , Processed in 0.254556 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表