如何在 DRX 中定义 CDocData,就像在 ObjectARX 中一样
使用ObjectArx可以定义和访问CDocData类/-----唯一的文档管理器对象。您可以使用DocVars对象在整个应用程序中检索特定于文档的数据
在Bricscad DRX中是否存在类似的方法curDocument()->fileName();
#pragma once
#define odDocManager odapDocManager()
templateclass OdDocDataManager : public OdApDocManagerReactor
{
public:
OdDocDataManager() {
odDocManager->addReactor (this) ;
}
~OdDocDataManager() {
odDocManager->removeReactor (this) ;
}
virtual void documentToBeDestroyed (OdApDocument *pDoc) {
m_dataMap.RemoveKey(pDoc) ;
}
T &docData () {
return (docData (odDocManager->curDocument())) ;
}
T &docData (OdApDocument *pDoc) {
return (m_dataMap) ;
}
void allDocData(CArray &carray) const{
OdApDocument *pDoc; T Value;
POSITION pos = m_dataMap.GetStartPosition();
while (pos != NULL){
m_dataMap.GetNextAssoc(pos,pDoc,Value);
carray.Add (Value);
}
}
__declspec(property(get=docData))T data;
private:
CMap m_dataMap ;
} ;
这太棒了!!!!!我今天就广泛测试!
谢谢丹尼尔!!! 如果您发现任何问题,请随时通知我。 代码示例工作完美!!!
再次感谢!
话筒
页:
[1]