明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: mxdwg

梦想mxdraw浏览,编辑控件

  [复制链接]
 楼主| 发表于 2012-2-5 15:54 | 显示全部楼层
2012.02.02更新下载地址:

http://www.mxdraw.com/?p=10&a=view&r=46

1.增加自定义文件格式(扩展名为MXG)文件,支持文件预览,图纸加密,和不同等级的压缩保存
自定义文件格式在系统中的预览:


2.增加支持OLE显示

3.增加Wipeout显示

4.增加CDC方式自绘控件背景接口,MxDrawBackGroundReactor,使用该接口可以和GIS地图无缝接合,并显示到控件中。

  1. // -------------------------------------------------------------------------

  2. // Summary:
  3. //   自绘函数,用户需要实现该函数,实现自绘背景.
  4. // Parameters:
  5. //   pDC   - 自绘使用的CDC对象
  6. //  bkColor  - 控件的背景颜色
  7. //  ptDocLb     -   控件当前显示文档范围的左下角坐标
  8. //  ptDocRt     -   控件当前显示文档范围的右上角坐标
  9. //      ptViewLT    -   控件当前显示视区的左上角坐标
  10. //  ptViewRB    -   控件当前显示视区的右下角坐标
  11. //  dViewAngle  -   视区的旋转角度
  12. //  isViewMoveing-  当前是否正处于视区移动状态。
  13. // Returns:
  14. //   返回TRUE,使用背景绘制.
  15. // -------------------------------------------------------------------------
  16. virtual BOOL Draw(IN CDC* pDC,
  17.   IN MxDraw::MXDRAWOCXHANDLE hOcx,
  18.   IN COLORREF bkColor,
  19.   IN const McGePoint3d& ptDocLb,
  20.   IN const McGePoint3d& ptDocRt,
  21.   IN const CPoint&      ptViewLT,
  22.   IN const CPoint&      ptViewRB,
  23.   IN double             dViewAngle,
  24.   IN BOOL               isViewMoveing
  25.   ) = NULL;
复制代码

5.增加把多个控件的内容打印到一张图纸,实现嵌套打印,接口类名为:MxNestedPrintWork,OCX接口
为:MxDrawXCustomFunction::Mx_NestedPrint

6.增加控件键盘事件响应接口,MxDrawXCustomEvent::KeyDown,MxDrawXCustomEvent::KeyUp        例如: VB下,处理F1被按下的代码
   
  1.      Private Sub MxDrawX1_CustomEvent(ByVal sEventName As String)
  2.         If sEventName = "KeyDown" Then
  3.             Dim param As MxDrawXLib.MxDrawResbuf
  4.             ' 得到事件参数
  5.             Set param = MxDrawX1.CustomEventParam
  6.             
  7.             Dim lVk As Long
  8.             lVk = param.AtLong(0)
  9.             
  10.             ' #define VK_F1             0x70,十进制值:112
  11.             If lVk = 112 Then
  12.               MsgBox "F1按下"
  13.                 ' 设置返回值1表示该事件不再传递处理.
  14.                 MxDrawX1.SetCustomEventResult "1"
  15.             End If
  16.         End If

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-3-2 11:10 | 显示全部楼层
2012.03.01更新下载地址:
http://www.mxdraw.com/?p=10&a=view&r=62

1. 控件增加GIS模块,可以做到CAD与GIS上的接合,例程
   Release\TestMxGis.exe演示显示自动加Google地图功能。


新增加Gis相关函数


  1. // -------------------------------------------------------------------------
  2. // Summary:
  3. //   加载控件自带的GIS库,默认是不会自动加载的。
  4. // Parameters:
  5. //   ptGisCenterPoint - 初始的GIS显示中心位置
  6. //  dUnitSize        - 初始时,屏幕上一个象素显示代表的GIS坐标长度。
  7. // Returns:
  8. //   成功加载GIS模块,返回True;
  9. // -------------------------------------------------------------------------
  10. static bool LoadMxGisLibrary();


  11. // -------------------------------------------------------------------------
  12. // Summary:
  13. //   设置GIS初始化数据
  14. // Parameters:
  15. //   ptGisCenterPoint - 初始的GIS显示中心位置
  16. //  dUnitSize        - 初始时,屏幕上一个象素显示代表的GIS坐标长度。
  17. //  pCadCenterPoint  - GIS中心位置,对应的CAD坐标,默该为空,自动取ptGisCenterPoint的值。
  18. // -------------------------------------------------------------------------
  19. static void SetMxGisDefaultData(McGePoint2d ptGisCenterPoint,
  20.    double dUnitSize,McGePoint2d* pCadCenterPoint = NULL);

  21. // -------------------------------------------------------------------------
  22. // Summary:
  23. //   把控件显示到GIS设置的初始位置
  24. // Parameters:
  25. //   hOcx    - 控件窗口名柄,不能为空
  26. // Returns:
  27. //   成功返回TRUE.
  28. // -------------------------------------------------------------------------
  29. static BOOL InitMxGisOcxStatus(
  30.   IN MXDRAWOCXHANDLE hOcx);

  31. // -------------------------------------------------------------------------
  32. // Summary:
  33. //   把CAD图纸坐标转成GIS坐标.
  34. // -------------------------------------------------------------------------
  35. static McGePoint3d MxCadToGisCoord(McGePoint3d ptCad);

  36. // -------------------------------------------------------------------------
  37. // Summary:
  38. //   把GIS坐标转成CAD图纸坐标.
  39. // -------------------------------------------------------------------------
  40. static McGePoint3d MxGisToCadCoord(McGePoint3d ptGis);

复制代码


2. 修改一些细节问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-4-9 08:21 | 显示全部楼层
2012.04.06更新下载地址:
http://www.mxdraw.com/?p=10&a=view&r=64

1. 增加UCS坐标系统

2. 完善视区旋转命令

3. 增加windows结构异常错误捕捉,在程序出错时,会自动生成dmp文件

4. 增加线型从lin文件加载功功能,并把一些常用的线型放到缺省线型中

5. 完善工具条上面的图层,线型,颜色组合框功能,它们能显示当前选中实体的参数,并能直接修改

6. 完善与交互输入点函数,支持用户直接输入一个距离定位

7. 完善绘矩形框命令,功能做到与AutoCAD一样,源码在sample\MxDrawRectang.cpp

8. 增加返回没加加载的字型shx文件函数MxDraw::GetLoadFailedShxFile,和重新加shx字型文件函数MxDraw::ReLoadShxFile

9. 修改了一些细节问题

UCS坐标系统预览:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-5-10 09:22 | 显示全部楼层
2012.05.10更新下载地址:

http://www.mxdraw.com/?p=10&a=view&r=65

1. 增加对象属性编辑查询功能,源码在sample\PropertyEditor工程中,所以使用该功能需要先加载PropertyEditor.mrx,然后调用MxDraw::EnablePropertyEditWindow启用该功能,MxDraw::ShowPropertyEditWindow用于显示属性编辑窗口

2. 增加MxDrawXCustomFunction::Mx_PrintHtml函数,专门用于控件在网页中使用,实现控件与网页一起打印。使用例子参考sample\ie\iedemo_print.htm

3. 增加MxDrawService接口,用于B\s架构,服务器后台调用,实现无窗口时,调用控件的功能,比如实现后台DWG到 JPG的转换,DWG图上的信息提取等功能.

4. 增加HasRedo,HasUndo函数,用来判断当前undo,redo数据是否为空.

  // Summary:
//   Redo数据是否为空
// -------------------------------------------------------------------------
static bool HasRedo(IN MxDraw::MXDRAWOCXHANDLE hOcx);
// -------------------------------------------------------------------------
// Summary:
//   Undo数据是否为空
// -------------------------------------------------------------------------
static bool HasUndo(IN MxDraw::MXDRAWOCXHANDLE hOcx);

5. 修改一些细节问题




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-8-15 14:39 | 显示全部楼层
2012.08.13更新下载地址:

http://www.mxdraw.com/?p=10&a=view&r=66

1.增加动态输入功能,类拟于AutoCAD的DYN功能
可以修改系统变量,DYNINPUT,值为1表打开该功能,值为0表示关闭该功能。

2.增加CTRL+C ,CTRL+V,热键复制,粘贴功能。
VC2008,调用如下函数,开启或关闭:

  1. // -------------------------------------------------------------------------
  2. // Summary:
  3. //   启用控件的Ctrl+C,Ctrl+V功能 ,默认为不启用。
  4. // Parameters:
  5. //   isEnable - 是否启用。
  6. // -------------------------------------------------------------------------
复制代码

static void EnableClipboard(bool isEnable);
使用MxDrawX.ocx,修改IniFilePath 的值,EnableClipboard=Y,启用控件的Ctrl+C,Ctrl+V功能 ,默认为不启用。

3.增加MxDrawX.ocx接口,MxDrawUiPrPoint ,MxDrawUiPrString ,用户与控件交互取点,和输入字符串,支持默认值和输入关键值功能,例如下:
例如: VB代码.

  1. Dim getPoint As MxDrawUiPrPoint
  2.        Set getPoint = New MxDrawUiPrPoint
  3.        getPoint.message = "点取一个点 或[闭合(N)/放弃(A)]"
  4.        getPoint.keyWords = "N A"
  5.       
  6.        Dim basePoint As MxDrawPoint
  7.        Set basePoint = New MxDrawPoint
  8.        basePoint.x = 100
  9.        basePoint.y = 100
  10.       
  11.        getPoint.basePoint = basePoint
  12.        getPoint.setUseBasePt True
  13.       
  14.        Dim ret As MCAD_McUiPrStatus
  15.        ret = getPoint.go()
  16.       
  17.        If ret = MxDrawXLib.mcOk Then
  18.             '输入一个点
  19.             
  20.             MsgBox getPoint.Value().x
  21.             MsgBox getPoint.Value().y
  22.             
  23.        ElseIf ret = MxDrawXLib.mcKeyWord Then
  24.             ' 输入了关键字
  25.             MsgBox "关键字"
  26.             MsgBox getPoint.keyWordPicked()
  27.        End If

4. 修改InsertBlock ,DrawImage接口,支持web路径(http://开头的网络路径.),直接从服务器上读取文件

5. 修改有些图转pdf文字会成?问题, 图块插入对多行文字,标注实体会丢失问题.

6. 修改一些其它细节问题。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2012-9-5 00:27 | 显示全部楼层
mxdwg 发表于 2012-8-15 14:39
2012.08.13更新下载地址:

http://www.mxdraw.com/?p=10&a=view&r=66

最近几天研究了一下梦想控件 真的是很好啊! 弱弱的问下演示版有功能或时间上的限制么
 楼主| 发表于 2012-9-25 15:16 | 显示全部楼层
没有功能,和时间限制
 楼主| 发表于 2012-9-25 15:20 | 显示全部楼层
2012.09.24更新下载地址:
http://www.mxdraw.com/?p=10&a=view&r=68

1. 增加控件标尺功能
  默认不会显示标尺,调用函数MxDraw::ShowRulerWindow ,显示标尺,COM接口,修改IniFilePath属性  值,SHOWRULERWINDOW=Y,显示标尺窗口

  1. // -------------------------------------------------------------------------
  2. // Summary:
  3. //   是否显示标尺窗口,默认是不显示的。
  4. // Parameters:
  5. //  hOcx                 - 控件句柄
  6. //  isShow               -  为TRUE显示,否则隐藏
  7. // -------------------------------------------------------------------------
  8. static void MxDraw::ShowRulerWindow(IN MXDRAWOCXHANDLE hOcx,bool isShow);
复制代码

2. 增加菜单功能
默认加载mxmenu.mnu文件中的菜单,可用记事本编该文件修改菜单。菜单默认不显示,调用MxDraw::ShowMenuBar函数显示菜单 ,COM接口,修改ShowMenuBar属性显示菜单.

3. 增加填充命令
源码在Sample\MxEdit\DrawHatchDialog.cpp,Sample\MxEdit\SelectPatternDialog.cpp
由一个点,搜索闭合区域,创建填充:

  1. // -------------------------------------------------------------------------
  2. // Summary:
  3. //   根据一个点,在当前控件显示范围内搜缩闭合区域,然后用该闭合区域创建填充对象。
  4. // Parameters:
  5. //   pickPoint - 开始搜索点
  6. // Returns:
  7. //   失败返回NULL,成功返回创建的确Hatch对象,指针需要用户自己释放。
  8. // -------------------------------------------------------------------------
  9. static McDbHatch* MxDraw::BuilderHatchFromPoint(McGePoint3d pickPoint);
复制代码


4. 增加在线打开ftp服务器上的图纸功能

5. 增加对象追踪捕捉功能

6. 增加极轴功能

7. 增加栅格捕捉

8.修改了一些错误



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2012-11-2 09:20 | 显示全部楼层
2012.11.01更新下载地址
http://www.mxdraw.com/?p=9

MxCAD5.0软件安装下载地址
http://www.mxdraw.com/?p=38&a=view&r=70

1.增加MxCAD.exe软件,封装MxDraw控件,实现的一个CAD软件.

2.增加文字样式设置命令,

3.增加线宽设置命令

4.增加标注样式设置

5.增加块定义命令

6.完善块插入命令

7.增加修改实体显示顺序命令
上面2,3,4,5,6,7源码都在samples\MxEdit\MxEdit工程中

8.修改了一些错误










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-4-25 19:42 | 显示全部楼层
高手啊,支持一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-8 10:15 , Processed in 0.675999 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表