大家好,我想要求关闭指定的文件并且不让它提示已经修改的图片要保存,而最好是还原到原来的样子,就是不保存。
还有我想问非ARX的MFC工程怎么调用ARX工程中的函数。最好是ARX中的所有类是不是可以在MFC工程中用,比如它中间的函数,我在打开指定文件时用到acDocManager->executeInApplicationContext(OpenDoc, (void *)pData);
这个OpenDoc函数在这个中可以那样直接定义的,到了MFC中定义成什么函数呢?MFC中的类函数是一定不行了,我试了用做全局函数也不行,当然不知道全局函数还有什么,可能我的没写对,帮帮忙了
下面是我关闭指定文件的程序
const char* strName = _T("D:\\liminghua\\aa.dwg");
AcApDocumentIterator* pdociterator = acDocManager->newAcApDocumentIterator();
for(; !pdociterator->done(); pdociterator->step())
{
AcApDocument* pdoc; pdoc = pdociterator->document();
const char* str = NULL;
str = pdoc->docTitle();
if (strcmp(str, strName)==0)
{
acDocManager->closeDocument(pdoc); //这里的关闭会提示保存
}
}
我想是不是可以这样当CAD弹出选择是否保存的窗口时怎么样它自动选择 “否”
谢谢大家了 在这的第一个贴
acdbSetDbmod(pIter->document()->database(), 0); // 关闭文档时不弹出保存对话框的实现的关键
Acad::ErrorStatus es = acDocManager->closeDocument(pIter->document());
大致是这样,先说明命令(/参数)类型比如 RTSTR 是指字符串,RTANG指角度,RTPOINT 指2D点,这些都定义在adscodes.h里,你可以去查;接下来是就是发送到命令行的参数(相当于手工输入到命令行的内容);最后以RTNONE结束命令调用。。
acedCommand( RTSTR, "qsave", RTSTR, "~", RTNONE )表示命令行输入"qsave ~",似乎qsave后没有"~"参数。也许是程序编写都自定义的。。。
其他的命令很简单,可直接通过菜单来查看命令及其参数,就像LISP中的COMMAND,不同的是ARX中要先说明命令(/参数)类型。
比如画直线 acedCommand(RTSTR,"_line",RTPOINT ,2D点,RTPOINT,2D点,RTNONE )
文章评论