明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 8196|回复: 18

简单总结CAcUiDockControlBar应用过程

  [复制链接]
发表于 2004-11-14 00:10 | 显示全部楼层 |阅读模式
zfbj版主,中午写了一点DockControlBar实现步骤的,还是发上来吧.




要补充的一点就是:
1. 要建立文档反应器,如果当前文档全部关闭时,就要关闭当前的DockControlBar,否则AutoCAD异常退出.
2. 如果要通过DockControlBar上的控件执行打开操作AutoCAD实体的话,        要在处理前调用
acDocManager->lockDocument(curDoc(),AcAp::kWrite,NULL,NULL,true);


调用结束后


acDocManager->unlockDocument(curDoc());


否则返回eLockViolation错误信息.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2004-11-14 21:45 | 显示全部楼层
真诚的想问问楼主,为什么第一条有“要建立文档反应器,如果当前文档全部关闭时,就要关闭当前的DockControlBar,否则AutoCAD异常退出. ”这个说法^_^。 我做了一个继承自AcDialogBar的对话框,加载到autocad里没有什么问题,但是我在那个对话框上加了个IDC_TREE控件,然后对其进行子类化后,可以显示出树来,但是整个退出autocad的时候出了毛病,报个致命错误:“unhandled access violation reading 0x 0038 Exception at 73d31c9dh”,是不是也是你所说的问题呢,我调试的时候可以看到可能是读了没有初始化的内存。 到这个地方可能出错了: virtual void documentToBeDestroyed( AcApDocument *pDoc )
{
m_dataMap.erase(pDoc);

} 也不知道是不是这个问题,要怎么个解决才是?呵呵,特意请教!麻烦您解答一下,有表述不清的地方愿谅解!
 楼主| 发表于 2004-11-14 22:54 | 显示全部楼层
本帖最后由 作者 于 2004-11-15 0:14:41 编辑

m_dataMap.erase(pDoc); 这一句应该是什么意思呢?



你可以把这一句先注释掉试一试,如果autocad退出时不再出现你说的错误,那问题可能就在这儿.


至于为什么要建立文档反应器,我也是试出来的,如果当前没有方档打开,DockBar不能正确地停泊在autocad窗体框架边缘,为了解决这个问题,我通过文档反应器适时地关闭DockBar.


你能贴出你的工程吗?我很想看一看(学习)你的程序.
发表于 2004-11-14 23:08 | 显示全部楼层
多谢多谢,按你的方法已经作出了框架。
发表于 2004-11-15 10:50 | 显示全部楼层
我把代码放到晓东空间了,昨天上传不了,sorry!
发表于 2004-11-15 18:46 | 显示全部楼层
今天不知道能不能传,看看!
发表于 2004-11-15 18:51 | 显示全部楼层
本帖最后由 作者 于 2004-11-16 12:17:21 编辑

今天不知道能不能传,看看!原来一直没看到右边还有个按钮要点才能上传,呵呵,斑竹帮忙看看哦,呵呵,


难怪我传不上来,原来超过大小了,呵呵

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2004-11-15 22:59 | 显示全部楼层
晓东空间下载太麻烦了,速度也不理想.


刚才试了找不到服务器.
发表于 2004-11-16 12:18 | 显示全部楼层
难怪我传不上来,原来超过大小了,呵呵
 楼主| 发表于 2004-11-16 12:21 | 显示全部楼层
删除Debug, Release和*.ncb,只保留源代码文件.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 09:37 , Processed in 0.212834 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表