MxDraw 发表于 2019-5-24 09:18:05

CAD控件网页版文字样式

本帖最后由 MxDraw 于 2019-5-24 09:19 编辑

增加文字样式
用户可以增加文字样式到数据库,并设置其字体等属性,具体实现js代码如下: function CreateText(){
    //返回控件的数据库对象
    var database =mxOcx.GetDatabase();
    //返回数据库中的文字样式表对象
    var mxtst = database.GetTextStyleTable();
    //增加新的文字样式
    var mxtstr = mxtst.Add("duanceng");
    //设置样式
    //设置文字的TrueType字体,如果文字样式设置了TrueType字体,就不会使用前面设置shx字体
    //参数一为turetype字体名 参数二为是否粗写参数三为是否斜写参数四为windows字符集参数五暂没使用
    mxtstr.SetFont("黑体", false, false, 0, 0);
    //返回文字的高度
    mxtstr.textSize = 5;

    //增加新的文字样式
    var mxtstr = mxtst.Add("duanceng1");
    //设置样式
    //设置文字的TrueType字体,如果文字样式设置了TrueType字体,就不会使用前面设置shx字体
    //参数一为turetype字体名 参数二为是否粗写参数三为是否斜写参数四为windows字符集参数五暂没使用
    mxtstr.SetFont("黑体", false, false, 0, 0);
    //返回文字的高度
    mxtstr.textSize = 9;
    //返回数据库中的文字样式表对象
    //设置为当前文字样式
    database.CurrentlyTextStyle = "duanceng";
}
得到文字样式名
用户可以得到所有文字样式名,具体实现js代码如下: function GetAllText() {
    var database = mxOcx.GetDatabase();
    // 得到所有图层名
    var sRet = null;
    //返回数据库中的文字样式表对象
    var spTextStyleTable = database.GetTextStyleTable();
    //创建一个遍历层表中所有图层的遍历器
    var spIter = spTextStyleTable.NewIterator();
    //移动当前遍历器位置
    for(;!spIter.Done();spIter.Step(true,true))
    {
      //返回遍历器当前位置的记录
      var spTextStyleRec = spIter.GetRecord();
      //符号表记录名属性
      var sName = spTextStyleRec.Name;
      // 0零层不参加比较
      if(sName != "0")
      {
            if(sRet == null)
                sRet = sName;
            else
            {
                sRet = sRet +","+sName;
            }
      }
    }
    alert(sRet);
}
删除文字样式
用户可以删除某个文字样式,具体实现js代码如下:function DelText() {
    var winWidth = 440;
    var winHeight = 140;
    var winLeft = (screen.width - winWidth) / 2;
    var winTop = (screen.height - winHeight) / 2 - 20;
    var str = 'dialogHeight:' + winHeight + 'px;dialogWidth:' + winWidth + 'px;dialogTop:' + winTop + 'px;dialogLeft:' + winLeft + 'px;resizable:yes;center:yes;status:no;'
    var rt = window.showModalDialog("Gettext.htm?tmp=" + Math.random(), "输入图层名", str);
    var txt;
    if (typeof (rt) == "undefined") {
      return;
    } else {
      var arr = rt.split(",");
      txt = arr;
    }
    var database = mxOcx.GetDatabase();
    //返回数据库中的文字样式表表对象
    var TextStyleTable = database.GetTextStyleTable();
    //得到层表中的文字样式表对象
    var TextStyleRec = TextStyleTable.GetAt(txt, false);
    if (TextStyleRec == null)
      return;
    //删除对象
    TextStyleRec.Erase();
    alert("成功删除文字样式");
}

页: [1]
查看完整版本: CAD控件网页版文字样式