- MxDraw 云图
- 快速入门
- 前端 mxdraw 和 mxcad 库预览编辑图纸
- 后台使用 Node.js 调用梦想 API
- CAD 与 GIS 集成说明
- 梦想云图 Node.JS 服务
- iOS 开发
- 安卓开发
- 网页 CAD 开发
- 网页快速入门 aspaps.netphpjava
- 图形数据库
- 参数化绘图
- 交互绘图
- 选择集
- 扩展数据
- 自定义实体
- 自定义命令
- 光栅图处理
- 图面搜索
- 控件事件
- 打印控制
- 界面控制
- COM 开发
- 视频教程
- VB 快速入门
- Delphi 快速入门
- CSharp 快速入门
- java 快速入门
- QT 快速入门
- 易语言快速入门
- Powerbuilder 快速入门
- wpf 控件入门
- 图形数据库
- 参数化绘图
- 交互绘图
- 选择集
- 扩展数据
- 自定义命令
- 自定义实体
- 打印控制
- 控件事件
- 图面搜索
- 光栅图处理
- 界面控制
- C++ 开发
- C++ bulider 快速入门
- C++ 快速入门(VS2010)
- C++ 快速入门(com 接口)
- 图纸数据库
- 参数化绘图
- 交互绘图
- 选择集
- 扩展程序
- 扩展数据
- 自定义函数
- 自定义实体
- 光栅图处理
- 图面搜索
- 控件事件
- 界面控制
- 常见问题
- 试用技术服务申请
- 会员下载最新程序
- 备用下载
- 控件安装运行说明
- 控件最新更新
- 控件功能简介
- 控件图形数据库
- 控件界面控制
- 控件命令执行原理
- 控件系统变量说明
- 控件常见问题说明
- 修改对象属性
- 网页加载 CAD 图纸的两个方案
- MxDraw3D 控件
- 前端基础工程化知识
工具栏
显示或隐藏接口
显示或隐藏所有工具条:
C++ | MxDraw::ShowToolBars |
COM接口 | ocx的属性, ShowToolBars |
例如JS语言隐藏工具条:
<param name="ShowToolBars" value="0">
显示或隐藏指定工具条, 工具条名称会在后面的工具条文件格式中说明。
C++ | MxDraw::ShowToolBar |
COM接口 | _DMxDrawX::ShowToolBar |
MxDraw::ShowToolBar 方法
接口:
static BOOL ShowToolBar(IN MXDRAWOCXHANDLE hOcx, IN const CString& sToolBarName, BOOL isShow);
参数:
参数 | 说明 |
---|---|
IN MXDRAWOCXHANDLE hOcx | 控件句柄 |
IN const CString& sToolBarName | 工具条名,在工具条定义文件(扩展名为mxt)中的第一行第五列 |
BOOL isShow | 为TRUE显示工具条,否则隐藏工具条 |
显示或隐藏工具条上某个按钮
C++接口 | MxDraw::HideToolBarControl |
例如VC代码隐藏绘图工具栏上的绘线和绘矩形框按钮:
MxDraw::HideToolBarControl(m_hDrawOcx,_T("绘图工具"),_T("绘线,绘矩形框"));
COM接口 | _DMxDrawX::HideToolBarControl |
例如VC代码隐藏绘图工具栏上的绘线和绘矩形框按钮:
mxocx.HideToolBarControl(_T("绘图工具"),_T("绘线,绘矩形框"),true,true);
禁用工具条上某个按钮
C++接口 | MxDraw::EnableToolBarControl |
例如禁用打印按钮:
MxDraw::EnableToolBarControl(m_hDrawOcx,_T("打印图形"),FALSE);
COM接口 | DMxDrawX::EnableToolBarButton |
例如页中禁用打开按钮代码:
document.getElementById("MxDrawOcxCtrl").EnableToolBarButton("打开dwg文件",0);
工具条文件
控件MxDraw52.dll所在目录下,所有的mxt都是工具条定义文件,每个mxt文件就是一个工具条, 如下:
文件名 | 说明 |
MxDraw-ToolBar.mxt | 常用工具条 |
MxDraw-ToolBar-Draw.mxt | 绘图工具条 |
MxDraw-ToolBar-DrawParam.mxt | 特性工具条 |
MxDraw-ToolBar-Edit.mxt | 编辑工具条 |
MxDraw-ToolBar-ET.mxt | 扩展工具条 |
把不需要的工具条文件删除,控件加载时就不会显示该工具条。
它是文本文件,用记事本打开编辑,格式如下:
“//”是文件中的注释。
文件中第一行是工具条文件头信息,每列内容如下:
如:("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文件"。
命令名:
C++使用McEdCommandStack :: addCommand增加,例如下:
acedRegCmds()->addCommand(_T("SysCmd"),
_T("OpenDwg"), _T("OpenDwg"), 1, OpenDwg);
COM接口:DMxDrawX::RegistUserCustomCommand注册命令
控钮在资源文件中的位图ID:
" IDB_OPENWEBDWG_BITMAP "。
ID类型:
目前控件内部使用,一般为空。
资源文件名:
1. 为空取默认资源文件名,该名称,需要去掉控件版本号如: MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这个版本号。
2. 资源文件如是local:开头,表示是一个本地bmp文件,如:取mytoolbar.bmp做工具按钮图标:local:mytoolbar.bmp
3. 资源文件如是web:开头,表示是一个网络服务器上的bmp文件,如:取mytoolbar.bmp做工具按钮图标: web:mytoolbar.bmp
命令ID:
指定菜单点击后响应的命令事件id,如不为空,可以在控件的命令执行事件中响应菜单点击事件: ImplementCommandEvent。
没有命定义时,是否不要加载工具按钮:
"Y"
自定义按钮参考例子: samples\AspNet\AspNet\My-MxDraw-ToolBar.txt。
比如:按钮图标从本地bmp文件加载:
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" " local:mytoolbar.bmp")
比如:按钮图标从服务器bmp文件加载,bmp文件与工具条文件在同一个服务器目录中:
("自定义打文件按钮" "自定义打文件按钮" "Mx_OpenMxg" "" "" "web:mytoolbar.bmp")
从指定文件加载
控件默认是加载控件程所在目录下的所有mxt文件,下面介绍如何显示指定加载工具文件。
C++接口 | MXDRAWOCXHANDLE MxDraw::CreateMxDraw,第四个参数指定工具条加载文件 |
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">
显示加载工具条文件
控件支持在需要时,再动态加载工具条文件,接口说明如下:
C++接口 | MxDraw::LoadToolBar |
例如:
void CTestDlg::OnBnClickedLoadtoolbarButton1() { CFileDialog openDlg(TRUE,_T("mxt"),NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("mxt(*.mxt) | *.mxt||"),AfxGetApp()->GetMainWnd()); if(openDlg.DoModal() == IDOK) { CString sToolBarFilePath = openDlg.GetPathName(); MxDraw::LoadToolBar(m_hDrawOcx,sToolBarFilePath); } }
COM接口: _DMxDrawX::LoadToolBar
帮助文件抓图:
完整例子说明
在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;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论