- 积分
- 6498
- 明经币
- 个
- 注册时间
- 2018-1-17
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
增加线型 主要用到函数说明:
_DMxDrawX::AddLinetype
增加一个线型定义。详细说明如下: 参数 | 说明 | BSTR pszName | 线型名 | BSTR pszLineDefine | 线定义字符串 | 用户可以增加线型到数据库,具体实现js代码如下:
- //新建一个线型
- function CreateLineType() {
- //定义虚线数据据,"MyLineType"是线型名,"6,-8"是虚线的一个单位定义,6是实线长,-8是空格长。
- var linetypeId= mxOcx.AddLinetype("MyLineType3", "6,-10");
- //返回控件的数据库对象
- var database = mxOcx.GetDatabase();
- //实体id返回实体对象
- var linetype = database.ObjectIdToObject(linetypeId);
- //设计当前线型为"MyLineType"
- database.CurrentlyLineTypeName = "MyLineType3";
- alert("添加成功");
- }
复制代码 用户可以增加一个点划线虚线线型到数据库,具体实现js代码如下:
- function CreateLineType1() {
-
- var linetypeId= mxOcx.AddLinetype("MyLineType1", "10,-2,3,-2");
- //返回控件的数据库对象
- var database = mxOcx.GetDatabase();
- //实体id返回实体对象
- var linetype = database.ObjectIdToObject(linetypeId);
- //设计当前线型为"MyLineType1"
- database.CurrentlyLineTypeName = "MyLineType1";
- alert("添加成功");
- }
复制代码用户可以增加一个带有形的线型到数据库。
主要用到函数说明:
_DMxDrawX::AddTextStyle1
向数据库中增加一个文字样式。详细说明如下: 参数 | 说明 | BSTR pszName | 文字样式名称 | BSTR pszFileName | shx文件名 | BSTR pszBigFontFileName | big shx文件名 | DOUBLE dXScale | 文字宽度缩放比例 |
_DMxDrawX::AddLinetypeEx
增加一个带文字的复杂线型。详细说明如下: 参数 | 说明 | BSTR pszName | 线型名 | BSTR pszLineDefine | 线型定义字符串 | BSTR pszTextStyle | 线型中的文字样式 | 具体实现js代码如下:
- function CreateLineType2() {
- //增加一个带有形的线型
- mxOcx.AddTextStyle1("MyLineTypeTextStyle", "txt.shx", "hztxt.shx", 1);
- var linetypeId= mxOcx.AddLinetypeEx ("MyLineType2", "(12.7,("T=MxDraw","S=2.54","L=-5.08","R=0.0"," +
- ""X=-2.54","Y=-1.27"),-10.08)","MyLineTypeTextStyle");
- //返回控件的数据库对象
- var database = mxOcx.GetDatabase();
- //实体id返回实体对象
- var linetype = database.ObjectIdToObject(linetypeId);
- //设计当前线型为"MyLineType2"
- database.CurrentlyLineTypeName = "MyLineType2";
- alert("添加成功");
- }
复制代码得到线型名 用户可以得到所有线型名,具体实现js代码如下: - function GetAllLineType() {
- var database = mxOcx.GetDatabase();
- // 得到所有图层名
- var sRet = null;
- //返回数据库中的线型表对象
- var spLinetypeStyleTable = database.GetLinetypeTable();
- //创建一个遍历所有线型的遍历器
- var spIter = spLinetypeStyleTable.NewIterator();
- //移动当前遍历器位置
- for(;!spIter.Done();spIter.Step(true,true))
- {
- //返回遍历器当前位置的记录
- var spLinetypeStyleTableRec = spIter.GetRecord();
- //符号表记录名属性
- var sName = spLinetypeStyleTableRec.Name;
- // 0零层不参加比较
- if(sName != "0")
- {
- if(sRet == null)
- sRet = sName;
- else
- {
- sRet = sRet +","+sName;
- }
- }
- }
- alert(sRet);
- }
复制代码删除线型 用户可以得到删除某个线型,具体实现js代码如下: - function DelLineType() {
- 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[0];
- }
- var database = mxOcx.GetDatabase();
- //返回数据库中的线型表对象
- var LinetypeStyleTable = database.GetLinetypeTable();
- //得到线型表中的线型对象
- var LinetypeStyleRec = LinetypeStyleTable.GetAt(txt, false);
- if (LinetypeStyleRec == null)
- return;
- //删除对象
- LinetypeStyleRec.Erase();
- alert("成功删除线型");
- mxOcx.Regen();
- }
复制代码
|
|