乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 48|回复: 3

如何在 DRX 中定义 CDocData,就像在 ObjectARX 中一样

[复制链接]

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-6-26 12:54:45 | 显示全部楼层 |阅读模式
使用ObjectArx可以定义和访问CDocData类
/-----唯一的文档管理器对象。您可以使用DocVars对象在整个应用程序中检索特定于文档的数据
在Bricscad DRX中是否存在类似的方法curDocument()->fileName();
[/code]
  1. #pragma once
  2. #define odDocManager odapDocManager()
  3. template  class OdDocDataManager : public OdApDocManagerReactor
  4. {
  5. public:
  6.   OdDocDataManager() {
  7.     odDocManager->addReactor (this) ;
  8.   }
  9.   ~OdDocDataManager() {
  10.     odDocManager->removeReactor (this) ;
  11.   }
  12.   virtual void documentToBeDestroyed (OdApDocument *pDoc) {
  13.     m_dataMap.RemoveKey(pDoc) ;
  14.   }
  15.   T &docData () {
  16.     return (docData (odDocManager->curDocument())) ;
  17.   }
  18.   T &docData (OdApDocument *pDoc) {
  19.     return (m_dataMap[pDoc]) ;
  20.   }
  21.   void allDocData(CArray &carray) const{
  22.     OdApDocument *pDoc; T Value;
  23.     POSITION pos = m_dataMap.GetStartPosition();
  24.     while (pos != NULL){
  25.       m_dataMap.GetNextAssoc(pos,pDoc,Value);
  26.       carray.Add (Value);
  27.     }
  28.   }
  29.   __declspec(property(get=docData))T data;
  30. private:
  31.   CMap m_dataMap ;
  32. } ;

回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-6-26 12:57:27 | 显示全部楼层
这太棒了!!!!!我今天就广泛测试!
谢谢丹尼尔!!!
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-6-26 13:03:07 | 显示全部楼层
如果您发现任何问题,请随时通知我。
回复

使用道具 举报

12

主题

63

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
111
发表于 2009-6-27 02:49:18 | 显示全部楼层
代码示例工作完美!!!
再次感谢!
话筒
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-6 00:54 , Processed in 0.209947 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表