![]() |
【转帖】[讨论]请教一下从acdbline派生时需要重载哪些函数?
[讨论]请教一下从acdbline派生时需要重载哪些函数?
[讨论]请教一下从acdbline派生时需要重载哪些函数? 请教一下从acdbline派生时需要重载哪些函数? 9pt 10pt 11pt 12pt 13pt 15pt 可以派生出来的,但好象有些函数不能用,比如trim extend等,请大家讨论一下还有哪些函数需要重载? 以下是代码: #include "aced.h" #include "adslib.h" #include "dbsymtb.h" #include "acgi.h" #include "dbapserv.h" #include "dbents.h" class myline: public acdbline { public: acrx_declare_members(myline); myline(); ~myline(); }; acrx_dxf_define_members(myline,acdbentity, acdb::kdhl_current, acdb::kmreleasecurrent, 0x5,\ myline,myline); myline::myline() { } myline::~myline() { } void addmyline() { ads_point pt1,pt2; if ((ads_getpoint(null,"\nstart point:",pt1))!=rtnorm) return; if ((ads_getpoint(pt1,"\nend point:",pt2))!=rtnorm) return; acgepoint3d pt11,pt21; pt11.set(pt1[x],pt1[y],pt1[z]); pt21.set(pt2[x],pt2[y],pt2[z]); myline *pnewobj = new myline; pnewobj->setstartpoint(pt11); pnewobj->setendpoint(pt21); acdbblocktable *pblocktable; acdbhostapplicationservices()->workingdatabase() ->getsymboltable(pblocktable, acdb::kforread); acdbblocktablerecord *pblock; pblocktable->getat(acdb_model_space, pblock, acdb::kforwrite); acdbobjectid objid; pblock->appendacdbentity(objid, pnewobj); pblocktable->close(); pblock->close(); pnewobj->close(); } void initapp() { myline::rxinit(); acrxbuildclasshierarchy(); acedregcmds->addcommand("qx", "qq", "qq", acrx_cmd_transparent, addmyline); } extern "c" acrx::appretcode acrxentrypoint(acrx::appmsgcode msg, void* appid) { switch (msg) { case acrx::kinitappmsg: acrxdynamiclinker->unlockapplication(appid); acrxdynamiclinker->registerappmdiaware(appid); initapp(); break; case acrx::kunloadappmsg: acedregcmds->removegroup("qx"); deleteacrxclass(myline::desc()); } return acrx::kretok; } |
| 所有的时间均为北京时间。 现在的时间是 03:12 AM. |