![]() |
【转帖】我的控件又进行了更新
我的控件又进行了更新
我的控件又进行了更新 8.10.06更新 最新下载地址: 1、修正尺寸标注中的mtext文字显示不正确问题. 2、控件工具条改成从mxt文件加载,这样用户通过修改mxt文件可以自定义工具条 mxt文格式如下: // 工具条文件头说明. // ("文件类型字符串" "资源文件名" "透明颜色") ("mxdrawtoolbarfile" "mxdraw.dll" (214 211 206)) // 文件中的工具命令字符串每项说明. // ("命令名称" "命令提示字符串" "命令" "图标索引字符串") ("打开dwg文件" "打开dwg文件" "opendwg" "idb_opendwg_bitmap") ("separator") ("缩放" "视区缩放命令" "z" "idb_zoom_bitmap") ("视区移动" "视区移动命令" "p" "idb_pan_bitmap") ("前一个视区" "缩放上一个" "zoomp" "id_prvview_bitmap") ("重新生成图形" "重新生成图形" "re" "idb_regen_bitmap") ("separator") ("操作回退" "操作回退" "u" "idb_undo_bitmap") ("打印图形" "打印图形" "plot" "idb_print_bitmap") 3、导出enabletoolbarcontrol接口,用来禁用或激活工具条上的按钮. 接口原型为:short enabletoolbarcontrol(lpctstr pszcontrolname, short isenable); 4、activex控件增加sendstringtoexecute接口,用来发送执行某个命令. 接口原型为: short sendstringtoexecute(lpctstr pszcmd); 5、activex控件增加openwebdwgfile接口,用来打开网上某个dwg文件. 接口原型为:short openwebdwgfile(lpctstr surlpath); 使用方法为: 复制内容到剪贴板 代码: <script language="vbscript"> mxdrawocxctrl.setatieruning(1) mxdrawocxctrl.enabletoolbarcontrol "打印图形",0 mxdrawocxctrl.openwebdwgfile(" (63.72 kb) 下载次数:0 8-10-6 09:09 am 下载次数:0 8-10-6 09:09 am 呵呵,看其来不错哦 8.10.18更新 8.10.06更新下载地址: 1、增加读取属性块中属性功能 调用代码如下: 复制内容到剪贴板 代码: acdbobjectiterator* pattribiter = spblkref->attributeiterator(); if(pattribiter != null) { acutprintf(_t("\n 块的属性值为:")); for(;!pattribiter->done();pattribiter->step() ) { // 打开块属性对象. acdbobjectpointer<acdbattribute> spattribute(pattribiter->objectid(),acdb::kforread); acutprintf(_t("\n %s"),spattribute->textstringex()); } acutprintf(_t("\n")); // 删除块属性递代器指针. delete pattribiter; } else { acutprintf(_t("\n 选择的不块不带属性")); }2、增加实体名柄类acdbhandle,并可以把实体名柄与实体id互相转换。 3、增加闪烁实体功能和停闪烁接口 调用代码如下: 复制内容到剪贴板 代码: // 闪烁实体. static bool twinkeent(acdbobjectid id); // 停闪东实体 static bool stoptwinkeent(acdbobjectid id); // 停闪止所有实体 static bool stopalltwinkeent(mxdrawocxhandle hocx);4、增加构建选择集函数acedssget,acedsslength,acedssfree,acedssname,现在支持带过滤的x选方式。 复制内容到剪贴板 代码: struct resbuf* filter = acutbuildlist(8,layer,rtdxf0, _t("lwpolyline"),-4,_t("<or"),62,0, 62,1,62,256,-4,_t("or>"),0); acutprintf(_t("\n 选择实体:")); ads_name ss; int rc = acedssget(_t("x"), null, null,filter,ss); acutrelrb(filter); if(rc != rtnorm) { afxmessagebox(_t("没有发现满足要求的实体")); return; } long len = 0; acedsslength(ss,&len); cstring st; st.format(_t("发现%d个实体"),len); afxmessagebox(st);5.增加图层的操作,关闭打开图层,可以参照samples\edit.sln例程. 复制内容到剪贴板 代码: void ctestcommands::testofflayer() { ads_name entname; ads_point pt; if(acedentsel(_t("选择需要关闭图层的实体:"),entname,pt) != rtnorm) { return; } acdbobjectid objid; if(acdbgetobjectid(objid,entname) != acad::eok) return; acdbobjectpointer<acdbentity> spent(objid,acdb::kforread); if(spent.openstatus() != acad::eok) return; acdbobjectpointer<acdblayertablerecord> splayerrec(spent->layerid(),acdb::kforwrite); if(splayerrec.openstatus() == acad::eok) { splayerrec->setisoff(true); } } void ctestcommands::testopenalllayer() { acdblayertablepointer splayertable(acdbhostapplicationservices()->workingdatabase(), acdb::kforread); if(splayertable.openstatus() != acad::eok) return; acdblayertableiterator* playeriter = null; splayertable->newiterator(playeriter); if(playeriter != null) { for(playeriter->start();!playeriter->done();playeriter->step()) { mcdblayertablerecord* precord = null; playeriter->getrecord(precord,acdb::kforwrite); if(precord != null) { precord->setisoff(false); precord->close(); } } delete playeriter; } }6.读取实体的扩展记录,和读取readnamedobjectsdictionary功能。 // 把字典中所有的数据都输出 复制内容到剪贴板 代码: acdbdatabase *pdb = acdbhostapplicationservices()->workingdatabase(); acdbobjectpointer<acdbdictionary> spdict(pdb->namedobjectsdictionaryid(),acdb::kforread); if(spdict.openstatus() == acad::eok) { printdictionary(spdict.object() ); }7.增加控件配制文件,在配制文件中可以指控件的背景色,是否显示工具条,是否显示命令窗口,字体文件搜索路径等。配制文件格式如下: // 初始绘图控件时设置配制文件 mxdraw-edit.ini mxdraw::initmxdraw(true,_t("mxdraw-edit.ini")); 复制内容到剪贴板 代码: // 控件的背景色 r g b ("viewblkcolor" (0 0 0)) // 是否显示命令行窗口 ("showcommandwindow" "y") // 是否显示工具条 ("showtoolbar" "y") // 打开dwg文件时,是否读取扩展数据 ("readdwgexdata" "y") // 打开dwg文件时,是否读取扩展记录 ("readdwgexrecord" "y") // 是否支持实体名柄操作 ("issupportenthandle" "y") // shx文件目录 ("shxdir" "shx")8.增加对自定义实体的显示acdbproxyentity; 9.增加对属性定义文件的显示acdbattributedefinition 下载次数:0 8-10-18 08:29 pm 新增功能抓图: 下载次数:0 8-10-18 08:29 pm 背影为白色的抓图: 梦想绘图控件. 8.11.03更新 我的控件又更新了: 1、增加w ,c方式构造选集, 2、增加实体选择变虚功能 3、增加acedgetpoint函数,可以从图上取一个点。 4、增加在图上动态标注一个点的显示例程. 5、增加设置光标位置函数 6、修正了一堆显示细节问题,控件显示更为精确。 比如有:文字间的空隔距离问题,mtext字体风格问题,填充对象有时填充不对问题,块中实体颜色显示等问题。 下载次数:0 8-11-3 03:33 pm 梦想绘图控件. 8.12.01更新 1.增加对公差显示的 2.修正了椭圆弧显示问题,等一堆显示问题. 3.增加带有形的复杂线型的显示. 4.增加在ie中同时打开两个控件的演示例程. 5.增加打开对话框中显示dwg预览的功能,并增加 cbitmap* mxdraw::getpreviewbmp(lpctstr pszfilename)函数得到dwg的预览位图. 6.增加mxdraw:opreviewfiledialog函数,弹出带预览窗口的文件打开对话框 7.增加对dxf文件的显示支持. 8.修正控件尺寸在除vc的其它语言中改不了的问题。 下载次数:0 8-12-1 06:38 pm ie中使用控件 梦想绘图控件. 8.12.03更新 8.12.03更新下载地址: 1.增加超酷的图纸浏览程序mxdrawcadtools.exe,浏览程序源代码在控件安装目录下的samples\mxdrawcadtools\mxdrawcadtools.sln工程中. 下载次数:0 8-12-3 12:26 pm 下载次数:0 8-12-3 12:26 pm 梦想绘图控件. 梦想绘图控件寻求合作 寻找志同道合的编程高手,一起做软件开发,实现共赢,共进步。 主要合作是内容: 在autocad外,前期主要做图纸浏览,cad工具,专业工具,最终目标是cad平台 要求会vc++,会arx更好 梦想绘图控件. 梦想绘图控件qq交流群:73281982 群说明: cad 控件,dwg图纸的浏览与编辑,cad工具制作,专业软件制作,arx开发,合作开发软件项目等交流 梦想绘图控件. 做为技术研究不错,很难应用于商业用途,因为有个dwgdirect的版权问题,这个问题不解决,没有公司敢用 |
| 所有的时间均为北京时间。 现在的时间是 07:00 AM. |