在我们安装好mxdrawCAD后,我们初次打开CAD就是下面的界面。CAD控件界面上所有元素都可以控制显示或隐藏,下面将讲解如何控制界面按钮的显示与隐藏。
首先讲解界面上的工具栏 ;
1、显示或隐藏接口
(1)显示或隐藏所有工具条:
COM接口 | ocx的属性, ShowToolBars |
(2)例如JS语言隐藏工具条:
1 |
|
(3)显示或隐藏指定工具条, 工具条名称会在后面的工具条文件格式中说明。
COM接口 | _DMxDrawX::ShowToolBar |
(4)_DMxDrawX::ShowToolBar
显示隐藏工具条,详细说明如下:
参数 | 说明 |
---|---|
BSTR pszToolBarName | 工具条文字名 |
VARIANT_BOOL isShow | 是否显示工具条 |
(5)CAD控件界面工具栏的显示或隐藏,js代码实现如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
隐藏工具栏效果如下:
2、隐藏或显示工具条上的按钮
(1)主要用到函数说明:_DMxDrawX::HideToolBarControl
隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:
参数 | 说明 |
---|---|
BSTR pszToolBarName | 工具条名称 |
BSTR pszControlName | 按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮 |
VARIANT_BOOL isHide | 是否隐藏按钮 |
VARIANT_BOOL isAutoRecalcLayout | 是否自动重新布局窗口上的工具条 |
例如隐藏绘图工具栏上的绘线和绘矩形框按钮js中实现代码说明:
1 |
|
隐藏前:
隐藏后:
(2)MxDrawXCustomFunction::Mx_HideToolBarControl
隐藏或显示工具条上的按钮,成功返回TRUE。详细说明如下:
参数 | 说明 |
---|---|
IN LPCTSTR pszToolBarName | 工具条名称 |
IN LPCTSTR pszControlName = NULL | 按钮名称,多个按钮名称,可以用逗号分隔开,为空,隐藏或显示所有按钮 |
IN BOOL isHide = TRUE | 是否隐藏按钮 |
IN BOOL isAutoRecalcLayout = TRUE | 是否自动重新布局窗口上的工具条 |
例如隐藏常用工具栏上的保存,保存为mxg文件,另存为dwg文件按钮js中实现代码说明:
1 2 3 4 |
|
隐藏前:
隐藏后:
3、禁用或激活CAD控件工具条上的某个命令按钮
(1)主要用到函数说明:_DMxDrawX::EnableToolBarButton
禁用或激活CAD控件工具条上的某个命令按钮。详细说明如下:
参数 | 说明 |
---|---|
BSTR pButtonName | 工具条中的按钮名称 |
VARIANT_BOOL isEnable | 是否禁用 |
例如页中禁用打开按钮代码:
1 |
|
禁用前:
禁用后:
4、工具条文件
(1)CAD控件MxDraw52.dll所在目录下,所有的mxt都是工具条定义文件,每个mxt文件就是一个工具条, 如下:
文件名 | 说明 |
MxDraw-ToolBar.mxt | 常用工具条 |
MxDraw-ToolBar-Draw.mxt | 绘图工具条 |
MxDraw-ToolBar-DrawParam.mxt | 特性工具条 |
MxDraw-ToolBar-Edit.mxt | 编辑工具条 |
MxDraw-ToolBar-ET.mxt | 扩展工具条 |
(2)把不需要的工具条文件删除,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 |
(3)文件中后面每行代表一个工具条按钮。每列的内容如下:如:("打开网上dwg文件" "打开网上dwg文件" "_OpenWebDwg" "IDB_OPENWEBDWG_BITMAP" "" "" "" "Y")
命令名称 | 命令提示字符串 | 命令名 | 控钮在资源文件中的位图ID | ID类型 | 资源文件名 | 命令ID | 没有命定义时,是否不要加载工具按钮 |
打开网上dwg文件 | 打开网上dwg文件 | _OpenWebDwg | IDB_OPENWEBDWG_BITMAP | "" | "" | "" | "Y" |
(4)
命令名称:
"打开网上dwg文件"。
命令提示字符串:
"打开网上dwg文件"。
命令名:
COM接口:DMxDrawX::RegistUserCustomCommand注册命令
控钮在资源文件中的位图ID:
" IDB_OPENWEBDWG_BITMAP "。
ID类型:
目前CAD控件内部使用,一般为空。
(5)资源文件名:
为空取默认资源文件名,该名称,需要去掉控件版本号如: MxDraw52.dll写成MxDraw.dll,CAD控件会根据具体情况加上这个版本号。
资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp
资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp
(6)命令ID:
指定菜单点击后响应的命令事件id,如不为空,可以在CAD控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。
没有命定义时,是否不要加载工具按钮:"Y"
自定义按钮参考例子:samples\AspNet\AspNet\My-MxDraw-ToolBar.txt。
比如:按钮图标从本地bmp文件加载:
1 |
|
比如:按钮图标从服务器bmp文件加载,bmp文件与工具条文件在同一个服务器目录中:
1 |
|
5、从指定文件加载
(1)CAD控件默认是加载CAD控件程所在目录下的所有mxt文件,下面介绍如何显示指定加载工具文件。
(2)COM接口: ToolBarFiles属性,它支持从服务器上加载工具文件,多个工具条文件用逗号隔开
帮助如下图:
如Js语言从服务器加载工具条文件, 工具条文件相对于当前网页:
1 2 |
|
暂不加载工具条文件,如下:
1 |
|
6、显示加载工具条文件
(1)CAD控件支持在需要时,再动态加载工具条文件,接口说明如下:
(2)COM接口: _DMxDrawX::LoadToolBar
帮助文件抓图:
7、在工具条添加一个按钮
(1)修改MxDraw52\Bin\vc100目录下的MxDraw-ToolBar.mxt文件:
1 2 3 |
|
改成:
1 2 3 |
|
效果如下,多了两个按钮了,用户可以给增加的按钮添加自定义命令。
(2)在B/S模式下,一步一步的说一下,如何用户自定义工具条,并响应点击事件。 详细例子可以参考samples\AspNet\AspNet.sln, samples\AspNet\ My-MxDraw-ToolBar.txt。
<1>新建菜单文件
新一个文本文件: My-MxDraw-ToolBar.txt,内容如下:
定一个按钮,按钮名为“自定义按钮“,图标是服务器上加载,图标名为mytoolbar.bmp,按钮点击执行命令,命令id为99。
1 2 |
|
<2>把文件上传到服务器
把My-MxDraw-ToolBar.txt, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从ie中访问。
<3>Js程序里引用工具条
工具条文件放在当前网页目录下。
1 |
|
<4>响应命令执行事件,如下:
1 2 3 4 5 6 7 |
|
1 |
|