|
高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】简单总结cacuidockcontrolbar应用过程
简单总结cacuidockcontrolbar应用过程
已经传上来了啊,呵呵,版主可以看看,我现在是重新做工程了,真是体力活啊!
回复
我试过了,问题在m_ptree.subclassdlgitem(idc_tree,this);这一句,如果注释掉这一句代码,运行就正常了,但不知道应该怎么向cedittreectrl添加item.
change your life style.
我尝试不用文档反应器,在acrxentrypoint消息循环中关闭dockcontrolbar,只是为验证一下,因此界面没有做的太复杂,退出文档时dockcontrolbar可以关闭,autocad也没有出错,具体代码如下,各位有兴趣可以试一下
case acrx::kunloaddwgmsg:
//该消息是在文档关闭之前,因此最后一个文档关闭时,文档枚举计数为1,而不是0
idwg=0;
pdociter = acdocmanager->newacapdocumentiterator();
for ( ; !pdociter->done(); pdociter->step()) {
pdoc = pdociter->document();
idwg++;
if (idwg>1) {break;}
}
delete pdociter;
if (i==1) {enddockbar();//关闭dockcontrolbar}
break;
}
acrxentrypoint(acrx::appmsgcode msg, void* pkt)
{
int idwg=0;
switch (msg) {
case acrx::kinitappmsg:
acrxdynamiclinker->unlockapplication(pkt);
acrxdynamiclinker->registerappmdiaware(pkt);
initapplication();
break;
case acrx::kunloaddwgmsg:
{
acapdocumentiterator *pdociter = acdocmanager->newacapdocumentiterator();
for ( ; !pdociter->done(); pdociter->step()) {
acapdocument *pdoc = pdociter->document();
idwg++;
if (idwg>1) {break;}
}
delete pdociter;
if (idwg==1) {acedgetacadframe ()->dockcontrolbar(pinsptree);} //关闭dockcontrolbar
break;
}
case acrx::kunloadappmsg:
unloadapplication();
break;
}
return acrx::kretok;
}
这样好像不行吧,呵呵,最后一个文档关闭时,文档枚举计数的却为1,但好像还是不行,可能我的写的不对吧,楼上的高手能不能指名一下呢。
我现在没有用那个tree相关的类,自己单独再写,好像还没出问题,可能是那个地方造成的吧,反正感觉有点别扭,我当初调试时也是注销掉了m_ptree.subclassdlgitem(idc_tree,this);就不会出问题,但这是达不到我的目的,呵呵,子类化的问题感觉很奇怪^_^
没有人回答了吗,有点点失望诶,帖子都沉下去了!
怎么一直没人回答了?郁闷中
谢谢王老师,正在学习这个东东^_^
//www.mystruc.com
嗯,来学习学习。。被导师的项目搞得郁闷致死,以前从来没接触过arx
|