在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法_第1页
在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法_第2页
在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法_第3页
在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在网页中引用DWG控件,交互绘图,和响应鼠标点击对象的方法MXDRAW CAD控件文档下面帮助的完整例子,在控件安装目录的SampleIe iedemo.htm中.1. 主要用到函数说明A. ImplementCommandEventFun控件的命令事件函数,与用户交互的操作,需要放到命令事件函数内实现,这样控件才能保证正常的Windows 消息循环被处理。B. ImplementMouseEventFun控件的鼠标事件函数,可以用JS程序里,响应鼠标事件,详细说明如下:void MouseEvent(LONG lType, DOUBLE dX, DOUBLE dY, LONG* lRet);

2、LONG lType 事件类型,1鼠标移动,2是鼠标左键按下,3是鼠标右键按下,4是鼠标左键双击 5是鼠标左键释放 6是鼠标右键释放 7是鼠标中键按下 8是鼠标中键释放 9是鼠标中键双击 10是鼠标中键滚动 DOUBLE dX 事件发生时的鼠标X坐标,文档坐标 DOUBLE dY 事件发生时的鼠标Y坐标,文档坐标 LONG* lRet lRet 返回非0,消息将不在往下传递 C. DrawLine用于在DWG图上绘制一条直线,详细说明如下:参数 说明 DOUBLE dX1 直线的开始点x坐标 DOUBLE dY1 直线的开始点y坐标 DOUBLE dX2 直线的结束点x坐标 DOUBLE dY

3、2 直线的结束点y坐标 D. IMxDrawSelectionSet:SelectAtPoint2返回一点坐标下面的实体对象,可以设置过滤条件,返回某层,某类型等属性的对象。2. JS中实现代码说明A. 在网页中引用控件,clsid:6EEC44E0-338B-408A-983E-B43E6F22B929是控件的GUID.控件程序可以做成CAB安装包,并可进行数据签名,方便网页中自动安装下载.详细参考例子: <object classid="clsid:6EEC44E0-338B-408A-983E-B43E6F22B929" id="MxDrawXCtrl

4、" codebase=" width=100% height=90%> <param name="_Version" value="65536"> <param name="_ExtentX" value="24262"> <param name="_ExtentY" value="16219"> <param name="_StockProps" value="0"&

5、gt;<!- <param name="DwgFilePath" value=" -><param name="IsRuningAtIE" value="1"><param name="EnablePrintCmd" value="1"><param name="ShowStatusBar" value="1"><param name="ShowMenuBar" va

6、lue="1"><param name="ShowToolBars" value="1"><param name="ShowCommandWindow" value="1"><param name="ShowModelBar" value="1"><param name="IniFilePath" value="AutoActive=N,LoadMrx=PropertyEdito

7、r.mrx"> <param name="ToolBarFiles" value="MxDraw-ToolBar.mxt,MxDraw-ToolBar-DrawParam.mxt,MxDraw-ToolBar-Draw.mxt,MxDraw-ToolBar-Edit.mxt"> </object><script>B. 设置命令事件回调函数document.getElementById("MxDrawXCtrl").ImplementCommandEventFun = DoComman

8、dEventFunc;C. 设置鼠标事件回调函数document.getElementById("MxDrawXCtrl").ImplementMouseEventFun = MouseEvent;D. 在命令事件交互绘制一条直线该事件将会被,网页中的myclick按钮点击触发,如下:function myclick()document.getElementById("MxDrawXCtrl").DoCommand(1);下面是绘制直线代码:function DoCommandEventFunc(iCmd) / 命令事件ID. if (iCmd = 1)

9、 / 得到网页的中的控件对象.var mxOcx = document.all.item("MxDrawXCtrl"); mxOcx.focus();var point1 = mxOcx.GetPoint(null,"n 点取开始点:");if(point1 = null) return;var point2 = mxOcx.GetPoint(point1,"n 点取结束点:");if(point1 = null) return; / 绘制一条直线. mxOcx.DrawLine(point1.x,point1.y,point2.x,

10、point2.y);E. 在鼠标事件中得到鼠标点击的对象.function MouseEvent(dX,dY,lType) / 4是鼠标左键双击if(lType = 4) / 得到网页的中的控件对象 var axMxDrawX1 = document.getElementById("MxDrawXCtrl"); / 创建一个选择集对象var ss = axMxDrawX1.CallCustomFunction("Mx_NewSelectionSet",""); / 创建一个点对象var pt = axMxDrawX1.CallCustomFunction("Mx_NewPoint",""); / 创建一个过滤条件对象 var fil = axMxDrawX1.CallCustomFunction("Mx_NewResbuf",""); / 把鼠标点击坐标,赋值给点对象.pt.x = dX; pt.y = dY; / 在该点处构造选择集. ss.SelectAtPoint2(pt,fil); / ss.Coune是选择集中对象数目 if(ss.Count > 0) / 得到选择集中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论