![]() |
【转帖】简单总结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 |
| 所有的时间均为北京时间。 现在的时间是 02:44 AM. |