查看单个帖子
旧 2009-04-16, 06:29 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】[讨论]请教一下从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;
}
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)