显示或隐藏接口
显示或隐藏所有工具条:
COM接口 | ocx的属性, ShowToolBars |
例如JS语言隐藏工具条:
<param name="ShowToolBars" value="0">
显示或隐藏指定工具条, 工具条名称会在后面的工具条文件格式中说明。
COM接口 | _DMxDrawX::ShowToolBar |
_DMxDrawX::ShowToolBar
显示隐藏工具条,详细说明如下:
参数 | 说明 |
---|---|
BSTR pszToolBarName | 工具条文字名 |
VARIANT_BOOL isShow | 是否显示工具条 |
CAD控件界面工具栏的显示或隐藏,首先定义一个全局变量isShow,接下来的例子中会用到该变量,如下:
var isShow = false;
js代码实现如下:
//隐藏/显示工具栏 function HideToolbar() { mxOcx.ShowToolBar("常用工具",isShow); mxOcx.ShowToolBar("绘图工具",isShow); mxOcx.ShowToolBar("编辑工具",isShow); mxOcx.ShowToolBar("特性",isShow); mxOcx.ShowToolBar("ET工具",isShow); isShow = !isShow; }
隐藏工具栏效果如下:
隐藏或显示工具条上的按钮
主要用到函数说明:
_DMxDrawX::HideToolBarControl
隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:
参数 | 说明 |
---|---|
BSTR pszToolBarName | 工具条名称 |
BSTR pszControlName | 按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮 |
VARIANT_BOOL isHide | 是否隐藏按钮 |
VARIANT_BOOL isAutoRecalcLayout | 是否自动重新布局窗口上的工具条 |
例如隐藏绘图工具栏上的绘线和绘矩形框按钮js中实现代码说明:
mxOcx.HideToolBarControl("绘图工具","绘线,绘矩形框",true,true);
隐藏前:
隐藏后:
MxDrawXCustomFunction::Mx_HideToolBarControl
隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:
参数 | 说明 |
---|---|
IN LPCTSTR pszToolBarName | 工具条名称 |
IN LPCTSTR pszControlName = NULL | 按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮 |
IN BOOL isHide = TRUE | 是否隐藏按钮 |
IN BOOL isAutoRecalcLayout = TRUE | 是否自动重新布局窗口上的工具条 |
例如隐藏常用工具栏上的保存,保存为mxg文件,另存为dwg文件按钮js中实现代码说明:
var param = mxOcx.Call("Mx_NewResbuf",""); param.AddString("常用工具"); param.AddString("保存,保存为mxg文件,另存为dwg文件"); mxOcx.CallEx("Mx_HideToolBarControl", param);
隐藏前:
隐藏后:
禁用或激活CAD控件工具条上的某个命令按钮
主要用到函数说明:
_DMxDrawX::EnableToolBarButton
禁用或激活CAD控件工具条上的某个命令按钮。详细说明如下:
参数 | 说明 |
---|---|
BSTR pButtonName | 工具条中的按钮名称 |
VARIANT_BOOL isEnable | 是否禁用 |
例如页中禁用打开按钮代码:
mxOcx. EnableToolBarButton("打开dwg文件",0);
禁用前:
禁用后:
工具条文件
CAD控件MxDraw52.dll所在目录下,所有的mxt都是工具条定义文件,每个mxt文件就是一个工具条, 如下:
文件名 | 说明 |
MxDraw-ToolBar.mxt | 常用工具条 |
MxDraw-ToolBar-Draw.mxt | 绘图工具条 |
MxDraw-ToolBar-DrawParam.mxt | 特性工具条 |
MxDraw-ToolBar-Edit.mxt | 编辑工具条 |
MxDraw-ToolBar-ET.mxt | 扩展工具条 |
把不需要的工具条文件删除,CAD控件加载时就不会显示该工具条。
它是文本文件,用记事本打开编辑,格式如下:
“//”是文件中的注释。
文件中第一行是工具条文件头信息,每列内容如下:
如:("MxDrawToolBarFile" "MxDraw.dll" (214 211 206) "top" "常用工具" "Y")
第几列 | 例程中的内容 | 说明 |
1 | "MxDrawToolBarFile" | 工具条文件标志字符串 |
2 | "MxDraw.dll" | 工具条中按钮图片资源加载文件 注:后面图标默认从该dll中加载 |
3 | "(214 211 206)" | 在资源文件中,按钮图片的透明色 |
4 | "top" | 位置,可以是:top,left,bottom,right |
5 | "常用工具" | 工具条名称 注:显示\隐藏函数会使用 |
6 | "Y" | 是否可以浮动,Y \N |
文件中后面每行代表一个工具条按钮。
每列的内容如下:
如:("打开网上dwg文件" "打开网上dwg文件" "_OpenWebDwg" "IDB_OPENWEBDWG_BITMAP" "" "" "" "Y")
命令名称 | 命令提示字符串 | 命令名 | 控钮在资源文件中的位图ID | ID类型 | 资源文件名 | 命令ID | 没有命定义时,是否不要加载工具按钮 |
打开网上dwg文件 | 打开网上dwg文件 | _OpenWebDwg | IDB_OPENWEBDWG_BITMAP | "" | "" | "" | "Y" |
命令名称:
"打开网上dwg文件"。
命令提示字符串:
"打开网上dwg文件"。
命令名:
COM接口:DMxDrawX::RegistUserCustomCommand注册命令
控钮在资源文件中的位图ID:
" IDB_OPENWEBDWG_BITMAP "。
ID类型:
目前CAD控件内部使用,一般为空。
资源文件名:
1. 为空取默认资源文件名,该名称,需要去掉控件版本号如: MxDraw52.dll写成MxDraw.dll,CAD控件会根据具体情况加上这个版本号。
2. 资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp
3. 资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp
命令ID:
指定菜单点击后响应的命令事件id,如不为空,可以在CAD控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。
没有命定义时,是否不要加载工具按钮:
"Y"
自定义按钮参考例子:samples\AspNet\AspNet\My-MxDraw-ToolBar.txt。
比如:按钮图标从本地bmp文件加载:
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "local:mytoolbar.bmp")
比如:按钮图标从服务器bmp文件加载,bmp文件与工具条文件在同一个服务器目录中:
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "web:mytoolbar.bmp")
从指定文件加载
CAD控件默认是加载CAD控件程所在目录下的所有mxt文件,下面介绍如何显示指定加载工具文件。
COM接口: ToolBarFiles属性,它支持从服务器上加载工具文件,多个工具条文件用逗号隔开
帮助如下图:
如Js语言从服务器加载工具条文件, 工具条文件相对于当前网页:
<param name=" ToolBarFiles" value=" ./My-MxDraw-ToolBar.txt,MxDraw-ToolBar-DrawParam.mxt,MxDraw-ToolBar-Draw.mxt,MxDraw-ToolBar-Edit.mxt">
暂不加载工具条文件,如下:
<param name=" ToolBarFiles " value=" Empty.mxt">
显示加载工具条文件
CAD控件支持在需要时,再动态加载工具条文件,接口说明如下:
COM接口: _DMxDrawX::LoadToolBar
帮助文件抓图:
在工具条添加一个按钮
修改MxDraw52\Bin\vc100目录下的MxDraw-ToolBar.mxt文件:
// 如下,是从工具条所在本地目录的bmp加载,local:表示是个本地的bmp ("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "local:mytoolbar.bmp") ("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "local:mytoolbar.bmp")
改成:
// 如下,是从工具条所在网络目录的bmp加载,web:表示是网上加载 ("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "web:mytoolbar.bmp") ("自定义打文件按钮" "自定义打文件按钮" "" "" "" "local:mytoolbar.bmp" "100")
效果如下,多了两个按钮了,用户可以给增加的按钮添加自定义命令。
在B/S模式下,一步一步的说一下,如何用户自定义工具条,并响应点击事件。 详细例子可以参考samples\AspNet\AspNet.sln, samples\AspNet\ My-MxDraw-ToolBar.txt。
1、新建菜单文件
新一个文本文件: My-MxDraw-ToolBar.txt,内容如下:
定一个按钮,按钮名为“自定义按钮“,图标是服务器上加载,图标名为mytoolbar.bmp,按钮点击执行命令,命令id为99。
("MxDrawToolBarFile" "MxDraw.dll" (214 211 206) "top" "MyTest工具" "Y") ("自定义按钮" "自定义按钮" "" "" "" " web:mytoolbar.bmp " "100")
2、把文件上传到服务器
把My-MxDraw-ToolBar.txt, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。
3、Js程序里引用工具条
工具条文件放在当前网页目录下。
<param name="ToolBarFiles" value="./ My-MxDraw-ToolBar.txt ">
4、响应命令执行事件,如下:
function DoCommandEventFunc(iCmd) { if (iCmd == 100) { //该函数在mxcustom.js中 alert("工具条按钮点击"); } }
document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoCommandEventFunc;
显示或隐藏接口
COM接口: ocx的属性, ShowModelBar。例如JS语言,隐藏菜单栏:
<param name="ShowMenuBar" value="0">
CAD控件界面菜单栏的显示或隐藏,js代码实现如下:
//隐藏/显示菜单栏 function HideMenuBar() { mxOcx.ShowMenuBar(isShow); isShow = !isShow; }
隐藏菜单栏效果如下:
主要用到函数说明:
_DMxDrawX::HideMenuBarControl
隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:
参数 | 说明 |
---|---|
VARIANT_BOOL isHide | 是否隐藏按钮 |
sControlName | 按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮 |
例如隐藏菜单栏上的新建和打开按钮js中实现代码说明:
mxOcx.HideMenuBarControl("新建(&N),打开(&O)",true);
隐藏前:
隐藏后:
菜单栏文件
CAD控件MxDraw52.dll所在目录下,所有的mnu文件,都是 菜单定义文件 ,它是文本文件,用记事本打开编辑,格式如下:
文件中第一行是菜单文件头,每列内容如下 :
文件类型字符串 | 资源文件名(后面菜单的图标默认从该dll中加载) | 图标的透明颜色 | 位置 | 菜单名 | 是否可以浮动,Y \N |
"MxDrawMenuBarFile" | "MxDraw.dll" | (214 211 206) | "top" | "主菜单" | "Y" |
后面每列的内容如下:
命令名称 | 点击执行的命令 | 图标索引字符串 | 资源文件名 | 命令提示字符串 | "命令ID" | ID类型(目前控件内部使用,一般为空) |
"新建(&N)" | Mx_New | "IDB_NEW_BITMAP" | "" | "" | "1" | "" |
命令名称:
新建(&N)。
点击执行的命令:
COM接口使用DMxDrawX::RegistUserCustomCommand注册命令。
图标索引字符串:
IDB_NEW_BITMAP。
资源文件名:
1. 为空取默认资源文件名,该名称需要去掉控件版本号如:MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这个版本号。
2. 资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp
比如:菜单图标从本地bmp文件加载:
"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"
3. 资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp
比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:
"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "web:mytoolbar.bmp"
命令提示字符串:
为空。
命令ID:
指定菜单点击后响应的命令事件id,如不为空,可以在CAD控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。
ID类型:
目前CAD控件内部使用,一般为空。
比如:菜单图标从本地bmp文件加载:
"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"
比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:
"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "web:mytoolbar.bmp"
从指定菜单文件加载
COM接口: Iniset属性,MenuFile=mymenu.mun,它支持从服务器上加载菜单文件
帮助如下图:
如Js语言从服务器加载菜单,菜单文件相对于当前网页:
<param name="Iniset" value="MenuFile=./mymenu.mun">
相对服务器路径, "~"开头,如下:
<param name="Iniset" value="MenuFile=~/mymenu.mun">
重新从文件加载菜单接口:
COM接口,它是自定义函数 | MxDrawXCustomFunction::Mx_ReLoadMenu |
显示或隐藏菜单项
COM接口 | _DMxDrawX::HideMenuBarControl |
例如:
mxOcx.HideMenuBarControl("新建(&N),打开(&O)",true);
JS代码:
function InitMxDrawX() { if (mxOcx) { if (!mxOcx.IsIniting()) { clearInterval(mxtime); // 控件初始化完成,需要在启动做的事,在这里做 mxOcx.HideMenuBarControl("新建(&N),打开(&O)",true); } } }}
在菜单栏添加一个按钮
1、新建菜单定义文件
新建一个文本文件将后缀名改为mnu(例如mxcad.mnu,此文件可以用记事本打开),文本里面的内容如下:
定义一个菜单按钮,按钮名为自定义新建,图标可以从服务器上加载(从服务器上加载写为web:mytoolbar.bmp),也可以从本地加载(从本地加载写为local:mytoolbar.bmp,本示例图标从本地上加载),图标名为mytoolbar.bmp,按钮点击执行命令,命令id为100。
// 菜单条文件头说明. // "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right" "是否可以浮动,Y \N " "MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "主菜单" "Y" // 菜单内容说明 // "命令名称" "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID" "ID类型" "POPMENUS" "文件(&F)" "自定义新建(&N)1" "" "IDB_NEW_BITMAP" "local:mytoolbar.bmp" "" "100" "ID_NEW_BUTTOM" "自定义新建(&N)2" "" "IDB_NEW_BITMAP" "local:mytoolbar.bmp" "" "100" "ID_NEW_BUTTOM" "自定义新建(&N)3" "" "IDB_NEW_BITMAP" "local:mytoolbar.bmp" "" "100" "ID_NEW_BUTTOM" "新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "MxEdit.mrx" "" "" "ID_NEW_BUTTOM" "打开(&O)" "Mx_OpenMxg" "IDB_OPENMXG_BITMAP" "" "" "" "ID_OPEN_BUTTOM" "打开DWG文件(&M)" "OpenDwg" "IDB_OPENDWG_BITMAP" "" "" "" "ID_OPENDWG_BUTTOM" "SEPARATOR" "最近文件(&X)" "Mc_Empty" "" "" "" "" "ID_FILE_MRU_FILE1" "SEPARATOR" "退出(&X)" "Mc_Empty" "" "" "" "" "ID_APP_EXIT" "POPMENUE"
“//”是文件中的注释
文件中后面每行代表一个菜单项
"POPMENUS" "文件(&F)",表示一个弹出菜单开始
"POPMENUE" 表示弹出菜单的结束
将图标文件mytoolbar.bmp和菜单定义文件mxcad.mnu放到MxDraw52\Bin\vc100目录下。
2、若需要图标从服务器上面加载,需要把图标文件和菜单定义文件上传到服务器
把mxcad.mnu, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。
3、Js程序里引用菜单
菜单定义文件放在当前网页目录下。
<param name="Iniset" value="MenuFile=./mxcad.mnu">
4、响应命令执行事件,如下:
function DoCommandEventFunc(iCmd) { if (iCmd == 100) { //该函数在mxcustom.js中 alert("菜单按钮点击"); } }
document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoCommandEventFunc;
效果如下:
右键弹出菜单
CAD控件支持鼠标右键弹出菜单,菜单的文件格式和前面的主菜单文件格式一样。 详细参考例子,samples\ie\iedemoTest.htm。
COM接口 | DMxDrawX::TrackPopupMenu |
在B/S模式下,下面一步一步的说明如何支持该功能:
1、新建菜单定义文件
新一个文本文件: mxpop.mnu,内容如下:
定义一个菜单按钮,按钮名为MyMenuButtonName,图标是服务器上加载,图标名为mytoolbar.bmp,按钮点击执行命令,命令id为99。
"MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "主菜单" "Y" "POPMENUS" "文件(&F)" "MyMenuButtonName(&N)" "" "" "web:mytoolbar.bmp" "" "99" "POPMENUE"
2、把文件上传到服务器
把mxpop.meu, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。
3、响应鼠标右键事件,弹出菜单
菜单定义文件放在当前网页目录下。
document.getElementById("MxDrawXCtrl").ImplementMouseEventFun = MouseEvent;
function MouseEvent(dX, dY, lType) { // 3表示鼠标右键按下 if(lType == 3) { var sPopMenu = mxOcx.GetOcxAppPath() + ".\\mxpop.mnu" mxOcx.TrackPopupMenu(dX, dY, sPopMenu); // 设置1,表示鼠标事件,不再往下传递. mxOcx.SetEventRet(1); } }
4、响应命令执行事件,如下:
function DoCommandEventFunc(iCmd) { if (iCmd == 99) { //该函数在mxcustom.js中 alert("菜单按钮点击"); } }
document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoCommandEventFunc;
显示或隐藏接口:
COM接口: DMxDrawX::ShowRulerWindow
例如隐藏标尺栏,JS:
<param name="ShowRulerWindow" value="0">
CAD控件界面标尺栏的显示或隐藏,js代码实现如下:
//隐藏/显示标尺栏 function HideRulerWindow() { mxOcx.ShowRulerWindow(isShow); isShow = !isShow; }
隐藏标尺栏效果如下:
显示或隐藏接口:
COM接口: DMxDrawX::ShowPropertyWindow
例如显示属性栏,JS:
<param name="ShowPropertyWindow" value="1">
属性栏功能,默认是没有启用的,需要在CAD控件启动时初始化启用。
COM: IniSet="EnablePropertyWindow=Y"如下图说明:
例如,Js调用启用属性窗口功能,但不显示。
<param name="Iniset" value="LoadMrx=PropertyEditor,EnablePropertyWindow=Y">
CAD控件界面属性栏的显示或隐藏,js代码实现如下:
//隐藏/显示属性栏 function HidePropertyWindow() { mxOcx.ShowPropertyWindow(isShow); isShow = !isShow; }
隐藏属性栏效果如下:
显示或隐藏接口:
COM接口 | _DMxDrawX::ShowCommandWindow |
例如隐藏命令栏,JS:
<param name="ShowCommandWindow" value="0">
CAD控件界面命令栏的显示或隐藏,js代码实现如下:
//隐藏/显示命令栏 function HideCommandWindow() { mxOcx.ShowCommandWindow(isShow); isShow = !isShow; }
隐藏命令栏效果如下:
显示或隐藏接口:
COM接口 | _DMxDrawX::ShowModelBar |
例如隐藏模型栏,JS:
<param name="ShowModelBar" value="0">
CAD控件界面模型栏的显示或隐藏,js代码实现如下:
//隐藏/显示模型栏 function HideModelBar() { mxOcx.ShowModelBar(isShow); isShow = !isShow; }
隐藏模型栏效果如下:
显示或隐藏接口:
COM接口 | _DMxDrawX::ShowStatusBar |
例如隐藏状态栏,JS:
<param name="ShowStatusBar" value="0">
显示进度条
COM接口:
设置进度条显示范围 | _DMxDrawX::SetStatusBarProgressMeter |
设置进度条显示位置 | _DMxDrawX::SetStatusBarProgressMeterPos |
隐藏进度条 | DMxDrawX::RestoreStatusBar |
状态栏上按钮调用
参考“ 梦想控件20-常用系统变量说明.doc ”文档,状态栏上的捕捉,正交等功能如何在自己的程序中设置。
坐标设置事件
状态上的坐标被修改后,会触发一个通知事件,可以帮助用户写自定义状态栏。
COM接口 | DMxDrawXEvents::SetTipCoord |
_DMxDrawXEvents::SetTipCoord方法
接口:
static void SetTipCoord(CString sCoordTxt, double dX, double dY, double dZ);
参数:
参数 | 说明 |
---|---|
CString sCoordTxt | 状态条显示内容 |
double dX | 状态条显示X坐标 |
double dY | 状态条显示Y坐标 |
double dZ | 状态条显示Z坐标 |
进度条事件
进度条显示时,会触发设置进度条事件。
COM接口 | DMxDrawXEvents::SetProgressBar |
状态栏的梦想Logo
控件试用版本程序,总是会显示该Logo,正式程序就会自动去掉该Logo。
CAD控件界面状态栏的显示或隐藏,js代码实现如下:
//隐藏/显示状态栏 function HideStatusBar() { mxOcx.ShowStatusBar(isShow); isShow = !isShow; }
隐藏状态栏效果如下:
启用接口:
COM接口 | DMxDrawX::BrowseMode |
例如隐藏坐标图标,JS:
<param name="IsBrowner" value="1">
CAD控件界面浏览模式切换,js代码实现如下:
//模式切换 var isBrowner = false; function BrownerMode() { isBrowner = !isBrowner; mxOcx.BrowseMode = isBrowner; mxOcx.ShowMenuBar = !isBrowner; mxOcx.ShowPropertyWindow = !isBrowner; }
浏览模式切换效果如下:
设置视区背景色
COM接口 | _DMxDrawX::ViewColor |
JS把背景色变成红色= 123,绿色=55,蓝色=78,颜色值是由(0xFF FF FF)6位的16进制数据组成,分别代表示(0x红,绿,蓝),比如要设置颜色: 红色= 123,绿色=55,蓝色=78的颜色。
123= 0x7B, 55=0x37, 78=0x4E
也就是0x7B 37 4E, 0x7B374E = 8075086。所以设置ViewColor =8075086:
<param name="ViewColor" value="8075086">
设置视区背景色为渐变色
COM接口 | IniSet="ViewGradientColor=RGB;标记" |
设置背景为渐变色填充,RGB是填充的渐变色,标记为 0,不使用渐变填充颜色,1使用渐变填充颜色。
axMxDrawX1.Iniset = "ViewGradientColor=" + "255" + ";1"; axMxDrawX1.ViewColor = Color.FromArgb(10, 22, 200, 0);
设置水印背景
COM接口 | _DMxDrawX::Watermark |
例如:设置文件名:d:\\mxcad.jpg,透明度为70,居中显示,x方向距离为5,y方向距离为5,如下:
ocx.Watermark = "d:\\mxcad.jpg,70,5,5,1"
JS例子:
var iShowWatermark = false; function ShowWatermark() { iShowWatermark = !iShowWatermark; if (iShowWatermark) { mxOcx.Watermark = mxOcx.GetOcxAppPath() + "\\Watermark.png" + ",20,5,5,1"; mxOcx.ViewColor = 16777215; // 背景色改成白色 } else { mxOcx.Watermark = ""; mxOcx.ViewColor = 0; // 背景色改成白色 } }
绘光栅图到背景
COM接口 | _DMxDrawX::DrawImageToBackground |
参考说明如下:
BSTR sFileName | 光栅图文件.DWGBMPJPG文件路径 |
LONG lLeftUpX | 栅图显示的在控件视区显示的左上角位置X,视区窗口坐标 |
LONG lLeftUpY | 栅图显示的在控件视区显示的左上角位置Y,视区窗口坐标 |
把DWG文件当着背景导入
COM接口 | _DMxDrawX::OpenBackgroundFile |
把一个dwg文件,或者图像文件当着一个背景导入,参考说明如下:
VARIANT_BOOL isGreyness | 是否灰显示 |
LONG lightColor | 背景灰度显示颜色 |
VARIANT_BOOL isZoomE | 是否自动把调用ZoomE操作 |
VARIANT_BOOL isUpDisplay | 是否自动调用更新显示 |
sFile | DWGBMPJPG文件路径 |
对象夹点显示颜色
COM接口 | IniSet="GripColor=RGB" |
例如: JS,把夹点颜色改成 红色= 123,绿色=55,蓝色=78,设置GripColor=8075086:
<param name="IniSet" value="GripColor=8075086">
设置光标线显示长度:
COM接口 | _DMxDrawX::CursorLong |
_DMxDrawX::SetCursorCrossLong |
设置为0表示无限长:CursorLong= 0,默认值为30。
设置光标矩形框大小:
COM接口 | _DMxDrawX::CursorWidth |
_DMxDrawX::SetCursorPickRect |
默认值为6 ,单位是屏幕像素大小。
自定义设置光标
COM接口,临时需要改变光标,用如下函数完成:
保存光标状态,与RestoreCursor配合使用 | _DMxDrawX::SaveCursor |
设置光标,从cur光标文件加载 | _DMxDrawX::SetCursor |
恢复光标 | _DMxDrawX::RestoreCursor |
设置默认缺省时光标
COM接口 | _DMxDrawX::UseArrowCursor |
设置默认使用箭头光标,不要使用缺省的十字光标:
<param name="UseArrowCursor" value="1">
从文件加载一个默认光标,CAD控件默认状态下将使用这个光标,路径是个相对 MxDrawX.ocx 所在目录下的文件。
Iniset属性,DEFAULTCURSOR=MyCursor.cur。
例如JS:
<param name="Iniset" value="DEFAULTCURSOR=MyCursor.cur">
光标位置
得到位置,文档坐标,是个MxDrawPoint对象。
COM接口 | _DMxDrawX::GetInputCursorPos |
设置光标位置,文档坐标。
COM接口 | _DMxDrawX::SetInputCursorPos |
显示或隐藏接口:
COM接口 | DMxDrawX::IsDrawCoord |
例如隐藏坐标图标,JS:
<param name="IsDrawCoord" value="0">
隐藏前:
隐藏后:
CAD控件具有鼠标停在一个对象上,然后自动弹出一个提示信息窗口的功能,效果如下:
参考例子:samples\ie\iedemoTest.htm,点击例子上边的设置超连接按钮,然后把鼠标停在对象上两秒,就能看到效果了。自动提示事件,用户响应该事件,返回需要显示的字符串,返回的字符串支持Html格式化。
COM接口 | _DMxDrawXEvents::InputPointToolTipEvent |
设置提示时间 | _DMxDrawX::SetToolTipInitialTime |
设置ToolTip自动提示隐藏时间 | _DMxDrawX::SetToolTipPopTime |
JS例子说明:
1. 给选中实体设置超链接
//新建一个COM组件对象 var selEnt = mxOcx.NewComObject("IMxDrawUiPrEntity"); selEnt.message = "选择要设置的对象"; if (selEnt.go() != 1) return; //返回用户选择的实体 var ent = selEnt.Entity(); if (ent == null) return; //设置超链接(用户可以设置所需链接) ent.Hyperlinks = "www.cdtong.net"; //设置动态提示弹出时间,默认为1000.0毫秒 mxOcx.DynToolTipTime = 100;
2. 增加InputPointToolTipEvent事件响应函数:
document.getElementById("MxDrawXCtrl").ImpInputPointToolTipFun = DoInputPointToolTipFun;
3. 在事件中返回需要提示的字符串:
function DoInputPointToolTipFun(ent) { var mxOcx = document.getElementById("MxDrawXCtrl"); var sHyperlinks = ent.Hyperlinks; if(sHyperlinks.length != 0) { var sClassName = ent.ObjectName; var tip = "<b><ct=0x0000FF><al_c>"+sClassName+ "</b><br><ct=0x00AA00><hr=100%></ct><br><a=\"link\">" + sHyperlinks + "</a>"; mxOcx.SetEventRetString(tip); } ent = null; CollectGarbage(); }
用户需要右键弹出菜单,则需要响应鼠标事件,右键按下后,弹出菜单分为在命令下运行及在非命令下运行,具体介绍如下 :
1、新建菜单文件
新一个文本文件: mxpoptest.mnu,内容如下(此文件为在命令下运行菜单):
// 菜单条文件头说明. // "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right" "MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "弹出菜单2" // 菜单内容说明 // "命令名称" "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID" "ID类型" "是否命令当着函数执行" "POPMENUS" "对象(&O)" "确定" "" "" "" "确定" "" "ID_OK_BUTTON" //"取消" "" "" "" "取消" "" "ID_CANCLE_BUTTON" "关键字" "" "" "" "关键字" "" "ID_KEYWORD_BUTTON" "SEPARATOR" "Test(&E)" "Test" "" "" "编辑文字" "55" "" "Y" "POPMENUE"
此处的关键字为命令行提示命令。
新一个文本文件: MxPopMenuEnt.mnu,内容如下(此文件为在非命令下运行点击实体菜单):
// 菜单条文件头说明. // "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right" "MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "弹出菜单2" // 菜单内容说明 // "命令名称" "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID" "ID类型" "POPMENUS" "对象(&O)" "删除(&E)" "_Erase" "IDB_ERASE_BITMAP" "复制(&Y)" "_Copy" "IDB_COPY_BITMAP" "移动(&V)" "_Move" "IDB_MOVE_BITMAP" "旋转(&R)" "_Rotation" "IDB_ROTATION_BITMAP" "缩放(&L)" "_Scale" "IDB_SCALE_BITMAP" "SEPARATOR" "对象特性(&O)" "Mx_ShowProperties" "IDB_PROPERTY_BITMAP" "PropertyEditor.mrx" "SEPARATOR" "用户自加命令(&U)" "" "" "" "" "99" "POPMENUE"
新一个文本文件: MxPopMenu.mnu,内容如下(此文件为在非命令下运行无实体右击菜单):
// 菜单条文件头说明. // "文件类型字符串" "资源文件名" "透明颜色" "位置,可以是:top,left,bottom,right" "MxDrawMenuBarFile" "MxDraw.dll" (214 211 206) "top" "弹出菜单1" // 菜单内容说明 // "命令名称" "命令" "图标索引字符串" "资源文件名" "命令提示字符串" "命令ID" "ID类型" "POPMENUS" "弹出菜单1(&V)" "新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "MxEdit.mrx" "" "" "ID_NEW_BUTTOM" "打开(&O)" "Mx_OpenMxg" "IDB_OPENMXG_BITMAP" "" "" "" "ID_OPEN_BUTTOM" "重画(&R)" "Re" "IDB_REGEN_BITMAP" "SEPARATOR" "实时缩放(&Z)" "ZoomR" "IDB_ZOOM_BITMAP" "SEPARATOR" "上一步" "ZoomP" "ID_PRVVIEW_BITMAP" "窗口缩放(&W)" "WindowZoom" "IDB_ZOOMW_BITMAP" "范围缩放(&E)" "ZoomE" "IDB_ZOOME_BITMAP" "视区平移(&P)" "P" "IDB_PAN_BITMAP" "视区旋转(&L)" "Mx_Plan" "IDB_PLAN_BITMAP" "MxEdit.mrx" "SEPARATOR" "鸟瞰(&D)" "DsViewer" "IDB_DSVIEWER_BITMAP" "放大镜(&M)" "MagnifyingGlass" "IDB_MAGNIFYINGCLASS_BITMAP" "SEPARATOR" "视区背景色(&C)" "_ViewColor" "IDB_VIEWCOLOR_BITMAP" "线重(&S)" "_ShowLineWeight" "IDB_LINEWEIGHT_BITMAP" "绘图模式(&A)" "_DrawModle" "IDB_DRAWMODLE_BITMAP" "全屏显示(&F)" "MxFullScreen" "IDB_FULLSCREEN_BITMAP" "SEPARATOR" "用户坐标系(&U)" "Mx_Ucs" "IDB_UCS_BITMAP" "MxEdit.mrx" "POPMENUE"
文件中第一行是菜单文件头,每列内容如下 :
文件类型字符串 | 资源文件名(后面菜单的图标默认从该dll中加载) | 图标的透明颜色 | 位置 | 菜单名 |
"MxDrawMenuBarFile" | "MxDraw.dll" | (214 211 206) | "top" | "弹出菜单" |
“//”是文件中的注释
文件中后面每行代表一个菜单项
"POPMENUS" "对象(&O)",表示一个弹出菜单开始
"POPMENUE" 表示弹出菜单的结束
"SEPARATOR" 表示弹出菜单的分割线
后面每列的内容如下:
命令名称 | 点击执行的命令 | 图标索引字符串 | 资源文件名 | 命令提示字符串 | "命令ID" | ID类型(目前控件内部使用,一般为空) |
"新建(&N)" | Mx_New | "IDB_NEW_BITMAP" | "" | "" | "" | "" |
命令名称:
新建(&N)。
点击执行的命令:
其它语言使用DMxDrawX::RegistUserCustomCommand注册命令。
图标索引字符串:
IDB_NEW_BITMAP。
资源文件名:
1. 为空取默认资源文件名,该名称需要去掉控件版本号如:MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这个版本号。
2. 资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp
比如:菜单图标从本地bmp文件加载:
"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "local:mytoolbar.bmp"
3. 资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp
比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:
"自定义新建(&N)" "Mx_New" "IDB_NEW_BITMAP" "web:mytoolbar.bmp"
命令提示字符串:
为空。
命令ID:
指定菜单点击后响应的命令事件id,如不为空,可以在控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。
ID类型:
目前控件内部使用,一般为空。
2、响应鼠标右键事件,弹出菜单
主要用到函数说明:
_DMxDrawX::TrackPopupMenu
在指定位置弹出一个菜单。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX | 弹出菜单的位置X值,是文档坐标 |
DOUBLE dY | 弹出菜单的位置Y值,是文档坐标 |
sMenuFile | 菜单定义文件,支持http开头的网络路径 |
document.getElementById("MxDrawXCtrl").ImplementMouseEventFun = MouseEvent;
function MouseEvent(dX, dY, lType) { var mxOcx = document.getElementById("MxDrawXCtrl"); // 3表示鼠标右键按下 if(lType == 3) { // 右键按下 var ret = mxOcx.Call("Mx_IsRuningCommand", ""); var sStatuIsOK = ret.AtString(0); var sStatuIsintellisel = ret.AtString(1); if ((sStatuIsOK == "Ok") && (sStatuIsintellisel != "intellisel")){ // 在命令下运行. var sMenu = mxOcx.GetOcxAppPath() + "\\mxpoptest.mnu"; mxOcx.TrackPopupMenu(dX, dY, sMenu); // 设置1,表示鼠标事件,不再往下传递. mxOcx.SetEventRet(1); return; } else { // 非命令下运行 var filter = mxOcx.NewResbuf(); var ent = mxOcx.FindEntAtPoint(dX, dY, filter); var sPopMenu; if(ent != null) { mxOcx.ClearCurrentSelect(); mxOcx.AddCurrentSelect(ent.ObjectID,true,true); sPopMenu = mxOcx.GetOcxAppPath() + "\\MxPopMenuEnt.mnu" } else { sPopMenu = mxOcx.GetOcxAppPath() + "\\MxPopMenu.mnu" } mxOcx.TrackPopupMenu(dX, dY, sPopMenu); // 设置1,表示鼠标事件,不再往下传递. mxOcx.SetEventRet(1); } } }
3、响应命令执行事件,如下:
function DoCommandEventFunc(iCmd) { if (iCmd == 55) { alert("菜单按钮点击"); } }
4、运行效果如下:
当CAD控件视区无实体时用户右击效果:
当CAD控件视区有实体时用户右击实体效果:
当CAD控件在命令下运行时用户右击实体效果:
用户定义命令执行效果:
js代码实现如下:
var pRet =mxOcx.Call("Mx_GetMcDbDatabaseBound", ""); if (pRet.AtString(0) == "Ok") { alert( "LBx:" + pRet.AtDouble(1) + "LBy:" + pRet.AtDouble(2) + "Rtx:" + pRet.AtDouble(3) + "Rty:" + pRet.AtDouble(4)); } else { alert("调用失败"); }
js代码实现如下:
var pRet = mxOcx.CallLongParam1("Mx_GetViewCoord", 1); if (pRet.AtString(0) == "Ok") { alert( "LBx:" + pRet.AtDouble(1) + "LBy:" + pRet.AtDouble(2) + "Rtx:" + pRet.AtDouble(3) + "Rty:" + pRet.AtDouble(4)); } else { alert("调用失败"); }
js代码实现如下:
var pRet = mxOcx.Cal("Mx_GetViewCoord"); if (pRet.AtString(0) == "Ok") { alert( "LBx:" + pRet.AtDouble(1) + "LBy:" + pRet.AtDouble(2) + "Rtx:" + pRet.AtDouble(3) + "Rty:" + pRet.AtDouble(4)); } else { alert("调用失败"); }
主要用到函数说明:
_DMxDrawX::TrackPopupMenu
在指定位置弹出一个菜单。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX | 弹出菜单的位置X值,是文档坐标 |
DOUBLE dY | 弹出菜单的位置Y值,是文档坐标 |
sMenuFile | 菜单定义文件,支持http开头的网络路径 |
_DMxDrawX::FindEntAtPoint
在某点位置处查找实体。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX | 点X值,文档坐标 |
DOUBLE dY | 点Y值,文档坐标 |
IDispatch* pFilter | 过滤条件 |
js中使用如下:
function MouseEvent(dX, dY, lType) { if(lType == 3) { // 鼠标右键按下 var filter = mxOcx.NewResbuf(); // 5020 = RTDXF0,只选择直线实体,设置过滤条件 //filter.AddStringEx("LINE",5020); var ent = mxOcx.FindEntAtPoint(dX, dY, filter); var sPopMenu; if(ent != null) { mxOcx.ClearCurrentSelect(); mxOcx.AddCurrentSelect(ent.ObjectID,true,true); sPopMenu = mxOcx.GetOcxAppPath() + "\MxPopMenuEnt.mnu" } else { sPopMenu = mxOcx.GetOcxAppPath() + "\MxPopMenu.mnu" } mxOcx.TrackPopupMenu(dX, dY, sPopMenu); // 设置1,表示鼠标事件,不再往下传递. mxOcx.SetEventRet(1); } }
主要用到函数说明:
IMxDrawDimension::SetDimVarDouble
设置标注属性的实数类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
dVal | 设置的值 |
IMxDrawDimension::GetDimVarDouble
返回标注属性的实数类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
例如: 设置标注文字高度,把文字调度设置成100,140是属性类型,它代表文字高度属性。js代码实现如下:
var id = mxOcx.DrawDimAligned(0,4000,300,4500,150,4600); var dim = mxOcx.ObjectIdToObject(id); dim.SetDimVarDouble(140, 100); dim.RecomputeDimBlock(true);
下面将详细介绍标注属性的实数类型变量值,详细说明如下:
变量类型值 | 实数值 | 说明 |
---|---|---|
dimaltf | 143 | 控制换算单位乘数 |
dimasz | 41 | 控制尺寸线、引线箭头的大小。并控制钩线的大小 |
dimcen | 141 | 控制由 DIMCENTER、 DIMDIAMETER 和 DIMRADIUS 命令绘制的圆或圆弧的圆心标记和中心线图形 |
dimdle | 46 | 当使用小斜线代替箭头进行标注时,设置尺寸线超出尺寸界线的距离 |
dimdli | 43 | 控制基线标注中尺寸线的间距 |
dimexe | 44 | 指定尺寸界线超出尺寸线的距离 |
dimexo | 42 | 指定尺寸界线偏移原点的距离 |
dimgap | 147 | 当尺寸线分成段以在两段之间放置标注文字时,设置标注文字周围的距离 |
dimlfac | 144 | 设置线性标注测量值的比例因子 |
dimrnd | 45 | 将所有标注距离舍入到指定值 |
dimscale | 40 | 为标注变量(指定尺寸、距离或偏移量)设置全局比例因子。同时还影响leader 命令创建的引线对象的比例 |
dimtfac | 146 | 按照 dimtxt系统变量的设置,相对于标注文字高度给分数值和公差值的文字高度指定比例因子 |
dimtm | 48 | 在 dimtol 系统变量或 dimlim系统变量为开的情况下,为标注文字设置最小(下)偏差 |
dimtp | 47 | 在dimtol 或 dimlim系统变量设置为开的情况下,为标注文字设置最大(上)偏差。dimtp 接受带符号的值 |
dimtsz | 142 | 指定线性标注、半径标注以及直径标注中替代箭头的小斜线尺寸 |
dimtvp | 145 | 控制尺寸线上方或下方标注文字的垂直位置 |
dimtxt | 140 | 指定标注文字的高度,除非当前文字样式具有固定的高度 |
dimaltrnd | 148 | 舍入换算标注单位 |
主要用到函数说明:
IMxDrawDimension::SetDimVarInt
设置标注属性的整数类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
iVal | 设置的值 |
IMxDrawDimension::GetDimVarInt
返回标注属性的整数类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
例如: 设置标注保留一位小数。js代码实现如下:
var id = mxOcx.DrawDimAligned(0,4000,300,4500,150,4600); var dim = mxOcx.ObjectIdToObject(id); dim.SetDimVarInt(271, 1); dim.RecomputeDimBlock(true);
下面将详细介绍标注属性的整数类型变量值,详细说明如下:
变量类型值 | 实数值 | 说明 |
---|---|---|
dimadec | 179 | 1.使用 dimdec 设置的小数位数绘制角度标注;0-8使用 dimadec 设置的小数位数绘制角度标注。(前面带dim的变量都是标注相关的变量,在"标注样式"对话框和"属性框"里都可以设置这些参数) |
dimalt | 70 | 控制标注中换算单位的显示:关.禁用换算单位;开:启用换算单位 |
dimaltd | 171 | 控制换算单位中小数位的位数 |
dimalttd | 274 | 设置标注换算单位公差值小数位的位数 |
dimalttz | 286 | 控制是否对公差值作消零处理 |
dimaltu | 273 | 为所有标注样式族(角度标注除外)换算单位设置单位格式 |
dimaltz | 285 | 控制是否对换算单位标注值作消零处理。dimaltz 值为 0- 3 时只影响英尺-英寸标注 |
dimaunit | 275 | 设置角度标注的单位格式:0.十进制度数 1.度/分/秒2.百分度 3.弧度 |
dimclrd | 176 | 为尺寸线、箭头和标注引线指定颜色。同时控制由 leader命令创建的引线颜色 |
dimclre | 177 | 为尺寸界线指定颜色 |
dimclrt | 178 | 为标注文字指定颜色 |
dimdec | 271 | 设置标注主单位显示的小数位位数。精度基于选定的单位或角度格式 |
dimfit | 287 | 旧式,除用于保留脚本的完整性外没有任何影响。dimfit 被dimatfit 系统变量和 dimtmove 系统变量代替 |
dimjust | 280 | 控制标注文字的水平位置 |
dimlim | 72 | 将极限尺寸生成为默认文字 |
dimsah | 173 | 控制尺寸线箭头块的显示 |
dimsd1 | 281 | 控制是否禁止显示第一条尺寸线 |
dimsd2 | 282 | 控制是否禁止显示第二条尺寸线 |
dimse1 | 75 | 控制是否禁止显示第一条尺寸界线:关.不禁止显示尺寸界线开.禁止显示尺寸界线 |
dimse2 | 76 | 控制是否禁止显示第二条尺寸界线:关.不禁止显示尺寸界线开.禁止显示尺寸界线 |
dimsoxd | 175 | 控制是否允许尺寸线绘制到尺寸界线之外:关.不消除尺寸线开.消除尺寸线 |
dimtad | 77 | 控制文字相对尺寸线的垂直位置 |
dimtdec | 272 | 为标注主单位的公差值设置显示的小数位位数 |
dimtih | 73 | 控制所有标注类型(坐标标注除外)的标注文字在尺寸界线内的位置 |
dimtix | 174 | 在尺寸界线之间绘制文字 |
dimtofl | 172 | 控制是否将尺寸线绘制在尺寸界线之间(即使文字放置在尺寸界线之外) |
dimtoh | 74 | 控制标注文字在尺寸界线外的位置:0或关.将文字与尺寸线对齐1或开.水平绘制文字 |
dimtol | 71 | 将公差附在标注文字之后。将 dimtol 设置为“开”,将关闭dimlim 系统变量 |
dimtolj | 283 | 设置公差值相对名词性标注文字的垂直对正方式:0.下 1.中间2.上 |
dimzin | 78 | 控制是否对主单位值作消零处理 |
dimunit | 270 | 旧式,除用于保留脚本的完整性外没有任何影响。dimunit 被dimlunit 和 dimfrac 系统变量代替 |
dimupt | 288 | 控制用户定位文字的选项。0光标仅控制尺寸线的位置1或开光标控制文字以及尺寸线的位置 |
dimtzin | 284 | 控制是否对公差值作消零处理 |
dimfrac | 276 | 在 dimlunit 系统变量设置为:4(建筑)或5(分数)时设置分数格式,0.水平 1.斜 2.不堆叠 |
dimlunit | 277 | 为所有标注类型(除角度标注外)设置单位制 |
dimatfit | 289 | 当尺寸界线的空间不足以同时放下标注文字和箭头时,本系统变量将确定这两者的排列方式 |
dimtmove | 279 | 设置标注文字的移动规则 |
dimazin | 79 | 对角度标注作消零处理 |
dimdsep | 278 | 指定一个单字符作为创建十进制标注时使用的小数分隔符 |
dimlwd | 371 | 指定尺寸线的线宽。其值是标准线宽。-3.bylayer-2.byblock 整数代表百分之一毫米的倍数 |
dimlwe | 372 | 指定尺寸界线的线宽。其值是标准线宽。-3 bylayer -2byblock 整数代表百分之一毫米的倍数 |
主要用到函数说明:
IMxDrawDimension::SetDimVarObjectId
设置标注属性的对象id类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
id | 设置的值 |
IMxDrawDimension::GetDimVarObjectId
返回标注属性的对象id类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
下面将详细介绍标注样式的对象id类型属性值,详细说明如下:
变量类型值 | 实数值 | 说明 |
---|---|---|
dimblk | 342 | 设置尺寸线或引线末端显示的箭头块 |
dimblk1 | 343 | 当 dimsah系统变量打开时,设置尺寸线第一个端点的箭头 |
dimblk2 | 344 | 当 dimsah系统变量打开时,设置尺寸线第二个端点的箭头 |
dimldrblk | 341 | 指定引线箭头的类型。要返回默认值(实心闭合箭头显示),请输入单个句点 (.) |
dimtxsty | 340 | 指定标注的文字样式 |
主要用到函数说明:
IMxDrawDimension::SetDimVarString
设置标注属性的字符串类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
pszVal | 设置的值 |
IMxDrawDimension::GetDimVarString
返回标注属性的字符串类型变量值,详细说明如下:
参数 | 说明 |
---|---|
[in] LONG iType | 该属性的类形值 |
下面将详细介绍标注样式的字符串类型属性值,详细说明如下:
变量类型值 | 实数值 | 说明 |
---|---|---|
dimapost | 4 | 为所有标注类型(角度标注除外)的换算标注测量值指定文字前缀或后缀(或两者都指定) |
dimpost | 3 | 指定标注测量值的文字前缀或后缀(或者两者都指定) |