CAD控件:界面控制说明和方法

来源:互联网 发布:adobe flash for mac 编辑:程序博客网 时间:2024/05/16 04:56

界面控制说明

目录
1.1 说明: ……………………………………………………………………………………………………………………….. 4
1.2 菜单栏 ……………………………………………………………………………………………………………………….. 4
1.2.1 显示或隐藏接口 ………………………………………………………………………………………………. 4
1.2.2 菜单栏文件 …………………………………………………………………………………………………….. 5
1.2.3 从指定菜单文件加载 ……………………………………………………………………………………….. 6
1.2.4 禁用或启用菜单项 …………………………………………………………………………………………… 6
1.2.5 显示或隐藏菜单项 …………………………………………………………………………………………… 7
1.2.6 完整例子说明………………………………………………………………………………………………….. 7
1.2.7 右键弹出菜单………………………………………………………………………………………………….. 8
1.3 工具栏 ……………………………………………………………………………………………………………………….. 9
1.3.1 显示或隐藏接口 ………………………………………………………………………………………………. 9
1.3.2 显示或隐藏工具条上某个按钮 ………………………………………………………………………… 10
1.3.3 禁用工具条上某个按钮…………………………………………………………………………………… 10
1.3.4 工具条文件 …………………………………………………………………………………………………… 10
1.3.5 从指定文件加载 …………………………………………………………………………………………….. 12
1.3.6 显示加载工具条文件 ……………………………………………………………………………………… 13
1.3.7 完整例子说明………………………………………………………………………………………………… 14
1.4 标尺栏 ……………………………………………………………………………………………………………………… 15
1.5 属性栏 ……………………………………………………………………………………………………………………… 15
1.6 命令栏 ……………………………………………………………………………………………………………………… 16
1.7 模型栏 ……………………………………………………………………………………………………………………… 17
1.8 状态栏 ……………………………………………………………………………………………………………………… 17
1.8.1 显示进度条 …………………………………………………………………………………………………… 17
1.8.2 状态栏上按钮调用 …………………………………………………………………………………………. 17
1.8.3 坐标设置事件………………………………………………………………………………………………… 18
1.8.4 进度条事件 …………………………………………………………………………………………………… 18
1.8.5 状态栏的梦想Logo ………………………………………………………………………………………… 18
1.9 视区 …………………………………………………………………………………………………………………………. 18
1.9.1 设置视区背景色 …………………………………………………………………………………………….. 18
1.9.2 设置视区背景色为渐变色 ……………………………………………………………………………….. 19
1.9.3 设置水印背景………………………………………………………………………………………………… 19
1.9.4 绘光栅图到背景. ……………………………………………………………………………………………. 20
1.9.5 把DWG 文件当着背景导入 ……………………………………………………………………………. 21
1.9.6 对象夹点显示颜色 …………………………………………………………………………………………. 22
1.10 光标控制 ………………………………………………………………………………………………………………. 22
1.10.1 自定义设置光标 …………………………………………………………………………………………….. 23
1.10.2 设置默认缺省时光标 ……………………………………………………………………………………… 23
1.10.3 光标位置 ………………………………………………………………………………………………………. 24
1.11 坐标图标 ………………………………………………………………………………………………………………….. 24
1.12 浏览模式 ………………………………………………………………………………………………………………. 24
M X D R A W 梦想绘图控件教程V 5 . 2
3
1.13 动态提示 ………………………………………………………………………………………………………………. 25
M X D R A W 梦想绘图控件教程V 5 . 2
4
1.1 说明:
控件界面上所有元素都可以控制显示或隐藏,下面逐一介绍,控件界面上的元素位置如下图:
1.2 菜单栏
1.2.1 显示或隐藏接口
C++接口:MxDraw::ShowMenuBar
COM 接口:ocx的属性, ShowModelBar,例如JS语言,隐藏菜单栏:

M X D R A W 梦想绘图控件教程V 5 . 2
5
1.2.2 菜单栏文件
控件MxDraw52.dll所在目录下,所有的mnu文件,都是菜单定义文件,它是文本文件,用记事
本打开编辑,格式如下:
“//”是文件中的注释。
文件中第一行是菜单文件头,每列内容如下 :
文件类型字符串 资源文件名
注:后面菜单的图
标默认从该dll中
加载
图标的透明颜色 位置,可以是:
top,left,bottom,right
菜单名 是否
可以
浮动,
Y \N
“MxDrawMenuBarFile” “MxDraw.dll” (214 211 206) “top” “主菜单” “Y”
文件中后面每行代表一个菜单项,
“POPMENUS” “文件(&F)”,表示一个弹出菜单开始
“POPMENUE” 表示弹出菜单的结束
后面每列的内容如下:
命令名称 点击执行的命令
C++使用acedRegCmds->addCommand注
册命令
其它语言使用
DMxDrawX::RegistUserCustomCommand
注册命令
图标索引字符串
资源文件名
1. 为空取默认资源文件名
该名称,需要去掉控件版本号如:
MxDraw52.dll写成MxDraw.dll,控件会根据
具体情况加上这个版本号
2.资源文件如是local:开头,表示是一个本
地bmp文件,如:取mytoolbar.bmp做工具按钮
图标:
local:mytoolbar.bmp
3.资源文件如是web:开头,表示是一个网络
服务器上的bmp文件,如:取mytoolbar.bmp
做工具按钮图标:
web:mytoolbar.bmp
“新建(&N)” Mx_New “IDB_NEW_BITMAP” “”
继续上边
命令提示字符串 “命令ID”
指定菜单点击后响应的命令事件id,如不为空,可以在控件的命
令执行事件中响应菜单点击事件: ImplementCommandEvent
ID类型
目前控件内部使用,一般为空
“” “1” “”
比如:菜单图标从本地bmp文件加载:
“自定义新建(&N)” “Mx_New” “IDB_NEW_BITMAP” “local:mytoolbar.bmp”
比如:菜单图标从服务器bmp文件加载,bmp文件与菜单文件在同一个服务器目录中:
“自定义新建(&N)” “Mx_New” “IDB_NEW_BITMAP” “web:mytoolbar.bmp”
M X D R A W 梦想绘图控件教程V 5 . 2
6
1.2.3 从指定菜单文件加载
C++接口:
MXDRAWOCXHANDLE MxDraw::CreateMxDraw 第五个参数表示菜单加载文件
COM接口:
Iniset属性,MenuFile=mymenu.mun,它支持从服务器上加载菜单文件
帮助如下图:
如Js语言从服务器加载菜单,菜单文件相对于当前网页:

相对服务器路径, “~”开头,如下:

重新从文件加载菜单接口:
C++接口:
MxDraw::ReLoadMenu
COM接口,它是自定义函数:
MxDrawXCustomFunction::Mx_ReLoadMenu
C#代码,如下调用:
axMxDrawX1.Call(“Mx_ReLoadMenu”, “mxcad.mnu”);
1.2.4 禁用或启用菜单项
C++接口函数:
MxDraw::EnableMenuBarControl
M X D R A W 梦想绘图控件教程V 5 . 2
7
1.2.5 显示或隐藏菜单项
C++接口:MxDraw:: HideMenuBarControl
COM 接口:_DMxDrawX::HideMenuBarControl
例如:
mxocx.HideToolBarControl(true,_T(“新建(&N) , 打开(&O));
1.2.6 完整例子说明
在B/S模式下,一步一步的说一下,如何用户自定义菜单,并响应点击事件。
详细例子可以参考samples\AspNet\AspNet.sln
1) 新建菜单文件
新一个文本文件: mxcad.mnu,内容如下:
定一个菜单按钮,按钮名为MyMenuButtonName,图标从服务器上加载,图标名为mytoolbar.bmp,
按钮点击执行命令,命令id为99
“MxDrawMenuBarFile” “MxDraw.dll” (214 211 206) “top” “主菜单” “Y”
“POPMENUS” “文件(&F)”
“MyMenuButtonName(&N)” “” “” “web:mytoolbar.bmp” “” “99”
“POPMENUE”
2) 把文件上传到服务器
把mxcad.mnu, mytoolbar.bmp文件放到服务器上,并放在同一个目录下,保证能直接从
ie中访问。
3) Js程序里引用菜单
M X D R A W 梦想绘图控件教程V 5 . 2
8
菜单文件放在当前网页目录下

4) 响应命令执行事件,如下:
function DoCommandEventFunc(iCmd)
{
if (iCmd == 99) {
//该函数在mxcustom.js中
alert(“菜单按钮点击”);
}
}
document.getElementById(“MxDrawXCtrl”).ImplementCommandEventFun = DoCommandEventFunc;
1.2.7 右键弹出菜单
控件支持鼠标右键弹出菜单,菜单的文件格式和前面的主菜单文件格式一样。
详细参考例子,samples\ie\iedemoTest.htm
弹出函数C++接口:
MxDraw::TrackPopupMenu
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) {
M X D R A W 梦想绘图控件教程V 5 . 2
9
// 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;
1.3 工具栏
1.3.1 显示或隐藏接口
显示或隐藏所有工具条
C++接口:MxDraw::ShowToolBars
COM 接口:ocx的属性, ShowToolBars,例如JS语言,隐藏工具条:

显示或隐藏指定工具条, 工具条名称会在后面的工具条文件格式中说明
C++接口:MxDraw::ShowToolBar
M X D R A W 梦想绘图控件教程V 5 . 2
10
COM 接口:_DMxDrawX::ShowToolBar
1.3.2 显示或隐藏工具条上某个按钮
C++接口:MxDraw::HideToolBarControl
例如:VC代码,隐藏绘图工具栏上的绘线和绘矩形框按钮。
MxDraw::HideToolBarControl(m_hDrawOcx,_T(“绘图工具”),_T(“绘线,绘矩形框”));
COM 接口:_DMxDrawX::HideToolBarControl
例如:
mxocx.HideToolBarControl(_T(“绘图工具”),_T(“绘线,绘矩形框”),true,true);
1.3.3 禁用工具条上某个按钮
C++接口:MxDraw::EnableToolBarControl
例如禁用打印按钮:
MxDraw::EnableToolBarControl(m_hDrawOcx,_T(“打印图形”),FALSE);
COM 接口:DMxDrawX::EnableToolBarButton
例如页中禁用打开按钮代码:
document.getElementById(“MxDrawOcxCtrl”).EnableToolBarButton(“打开dwg文件”,0);
1.3.4 工具条文件
控件MxDraw52.dll所在目录下,所有的mxt都是工具条定义文件,每个mxt文件就是一个工具
M X D R A W 梦想绘图控件教程V 5 . 2
11
条, 如下:
文件名 说明
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”)
第几列 例程中的内容 说明
1 “打开网上dwg文件” 命令名称
2 “打开网上dwg文件” 命令提示字符串
3 _OpenWebDwg 命令名
注: C++使用McEdCommandStack :: addCommand增加,例
如下:
acedRegCmds()->addCommand(_T(“SysCmd”),
_T(“OpenDwg”), _T(“OpenDwg”), 1, OpenDwg);
COM接口:DMxDrawX::RegistUserCustomCommand注册命令
4 ” IDB_OPENWEBDWG_BITMAP ” 控钮在资源文件中的位图ID
5 “” ID类型
注:控件内部使用,用户填空串
6 “” 资源文件名
1. 为空取默认资源文件名
该名称,需要去掉控件版本号如:
MxDraw52.dll写成MxDraw.dll,控件会根据具体情况加上这
M X D R A W 梦想绘图控件教程V 5 . 2
12
个版本号
2.资源文件如是local:开头,表示是一个本地bmp文件,如:
取mytoolbar.bmp做工具按钮图标:
local:mytoolbar.bmp
3..资源文件如是web:开头,表示是一个网络服务器上的
bmp文件,如:取mytoolbar.bmp做工具按钮图标:
web:mytoolbar.bmp
7 “” “命令ID”
注:
定菜单点击后响应的命令事件id,如不为空,可以在控件的
命令执行事件中响应菜单点击事件:
ImplementCommandEvent
8 “Y” 没有命定义时,是否不要加载工具按钮
自定义按钮参考例子:samples\AspNet\AspNet\My-MxDraw-ToolBar.txt
比如:按钮图标从本地bmp文件加载:
(“自定义打文件按钮” “自定义打文件按钮” “Mx_OpenMxg” “” “” “web:mytoolbar.bmp”)
比如:按钮图标从服务器bmp文件加载,bmp文件与工具条文件在同一个服务器目录中:
(“自定义打文件按钮” “自定义打文件按钮” “Mx_OpenMxg” “” “” “web:mytoolbar.bmp”)
1.3.5 从指定文件加载
控件默认是加载控件程所在目录下的所有mxt文件,下面介绍如何显示指定加载工具文件
C++接口:
MXDRAWOCXHANDLE MxDraw::CreateMxDraw 第四个参数指定工具条加载文件
COM接口:
ToolBarFiles 属性,它支持从服务器上加载工具文件,多个工具条文件用逗号隔开
帮助如下图:
M X D R A W 梦想绘图控件教程V 5 . 2
13
如Js语言从服务器加载工具条文件, 工具条文件相对于当前网页:

0 0
原创粉丝点击