乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 72|回复: 3

如何修改默认字体呀

[复制链接]

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2010-12-29 17:13:00 | 显示全部楼层 |阅读模式
我在vs2008 c#环境下写了如下程序:
            DBText mytext = new DBText();
            mytext.TextString = text;   // TextString Contents
            mytext.Position = Position; // location position
            mytext.VerticalMode = TextVerticalMode.TextVerticalMid; //垂直对齐方式
            mytext.HorizontalMode = TextHorizontalMode.TextFit; //水平对齐方式
            mytext.AlignmentPoint = Position; //文本的坐标
但是不知道如何加字体样式呀,因为默认的是:Standard 我想修改成“宋体”, 但不知道如何做,请高手指点,谢谢!
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2010-12-30 22:08:00 | 显示全部楼层
怎么能把: TextStyle 字体修改成:“宋体”呀?
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2010-12-30 23:00:00 | 显示全部楼层
已解决了,谢谢超级版本
DBText mytext = new DBText();
mytext.TextStyle = AddTextStyle("宋体", "1", "3", 20, 20);
//建立文字样式
        public static ObjectId AddTextStyle(string name, string smallfont, string bigfont, double height, double xscale)
        {
            Database dbH = HostApplicationServices.WorkingDatabase;
            using (Transaction trans = dbH.TransactionManager.StartTransaction())
            {
                TextStyleTable TST = (TextStyleTable)trans.GetObject(dbH.TextStyleTableId, OpenMode.ForWrite);
                ObjectId id =  GetIdFromSymbolTable(TST, name);
                if (id == ObjectId.Null)
                {
                    TextStyleTableRecord TSTR = new TextStyleTableRecord();
                    TSTR.Name = name;
                    TSTR.FileName = smallfont;
                    TSTR.BigFontFileName = bigfont;
                    TSTR.TextSize = height;
                    TSTR.XScale = xscale;
                    TST.UpgradeOpen();
                    id = TST.Add(TSTR);
                    trans.AddNewlyCreatedDBObject(TSTR, true);
                }
                return id;
            }
        }
        //取得符号表的Id
        public static ObjectId GetIdFromSymbolTable(SymbolTable st, string key)
        {
            Database dbH = HostApplicationServices.WorkingDatabase;
            using (Transaction trans = dbH.TransactionManager .StartTransaction ())
            {
                if (st.Has(key))
                {
                    ObjectId idres = st[key];
                    if (!idres.IsErased)
                        return idres;
                    foreach (ObjectId id in st)
                    {
                        if (!id.IsErased)
                        {
                            SymbolTableRecord str = (SymbolTableRecord)trans.GetObject(id, OpenMode.ForRead);
                            if (str.Name == key)
                                return id;
                        }
                    }
                }
            }
            return ObjectId.Null;
        }
回复

使用道具 举报

1

主题

16

帖子

9

银币

初来乍到

Rank: 1

铜币
22
发表于 2015-2-21 16:16:00 | 显示全部楼层
受教了。。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 16:48 , Processed in 0.362195 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表