通过按钮关闭AUTOCAD?
在AUTOCAD中,无模式对话框上的按钮关闭,点击把AUTOCAD关闭,该如何作啊?AUTOCAD直接关闭,默认是"不保存",不要再选择什么"是否要保存"的对话框了!
高手指教!!! 用IDocument的close()方法就可以实现........................ 我不大清楚你说的这个,能详细的说一下吗?
谢谢
IDocument 是CAD的一个接口,利用这个接口的方法close()可以实现
IDocument IDoc;
IDoc.AttachDispatch(IApp.get_ActiveDocument());<BR>
IDoc->close(vFull,vNull); 这个IDocument用的时候需要什么头文件吗?
编译时不认啊!! 用类向导->Add Class按钮->From a type libraly....
选择CAD2002安装目录下的acad.tlb
-> 选择IAcadApplication,IAcadDocument,IAcadDocuments等(可以根据自己需要添加接口)
->得到acad.h acad.cpp2个文件,然后#include "acad.h" 就可以用了。 我改成这样的
IAcadDocument IDoc,IApp;<BR> IDoc.AttachDispatch(IApp.get_ActiveDocument());<BR> IDoc->close(vFull,vNull);
可是还是出错啊,梦幻神话高手帮我看看!!
错误是:
Compiling...<BR>XiTong.cpp<BR>F:\haohuibin\testarx\XiTong.cpp(288) : error C2039: 'get_ActiveDocument' : is not a member of 'IAcadDocument'<BR> f:\haohuibin\testarx\acad.h(5) : see declaration of 'IAcadDocument'<BR>F:\haohuibin\testarx\XiTong.cpp(289) : error C2819: type 'IAcadDocument' does not have an overloaded member 'operator ->'<BR> f:\haohuibin\testarx\acad.h(5) : see declaration of 'IAcadDocument'<BR>F:\haohuibin\testarx\XiTong.cpp(289) : error C2227: left of '->close' must point to class/struct/union<BR>F:\haohuibin\testarx\XiTong.cpp(289) : error C2065: 'vFull' : undeclared identifier<BR>F:\haohuibin\testarx\XiTong.cpp(289) : error C2065: 'vNull' : undeclared identifier<BR>Error executing cl.exe.
cadittestarx.arx - 5 error(s), 0 warning(s) 1、如果你用的是VC6.0 的话:
IDoc.AttachDispatch(IApp.GetActiveDocument());
IDoc->Close(vFull,vNull);
2、接口要用到变体 首先定义:
COleVariant vNull(""),<BR> vTrue((short)TRUE),<BR> vFull((short)FALSE);
<BR> 这个IAcad是给别的程序用的OLE包装类啊, 在CAD里面自己用自己的OLE..-__-
而且这似乎是关闭文件不保存, 不是关闭整个CAD程序不保存啊..
直接结束CAD的话在按钮上用Win API的::ExitProcess()就好了吧.. 谢谢上面两位大侠!!!!OK
页:
[1]