h2023197 发表于 2005-4-17 10:43:00

通过按钮关闭AUTOCAD?

在AUTOCAD中,无模式对话框上的按钮关闭,点击把AUTOCAD关闭,该如何作啊?


AUTOCAD直接关闭,默认是"不保存",不要再选择什么"是否要保存"的对话框了!


高手指教!!!

梦幻神话 发表于 2005-4-21 09:46:00

用IDocument的close()方法就可以实现........................

h2023197 发表于 2005-4-24 10:12:00

我不大清楚你说的这个,能详细的说一下吗?


谢谢

梦幻神话 发表于 2005-4-25 16:34:00

IDocument 是CAD的一个接口,利用这个接口的方法close()可以实现


IDocument IDoc;


        IDoc.AttachDispatch(IApp.get_ActiveDocument());<BR>


IDoc-&gt;close(vFull,vNull);

h2023197 发表于 2005-4-25 19:17:00

这个IDocument用的时候需要什么头文件吗?


编译时不认啊!!

梦幻神话 发表于 2005-4-26 19:27:00

用类向导-&gt;Add       Class按钮-&gt;From a type libraly....


选择CAD2002安装目录下的acad.tlb


-&gt; 选择IAcadApplication,IAcadDocument,IAcadDocuments等(可以根据自己需要添加接口)


-&gt;得到acad.h       acad.cpp2个文件,然后#include "acad.h" 就可以用了。

h2023197 发表于 2005-4-27 09:36:00

我改成这样的


IAcadDocument IDoc,IApp;<BR>        IDoc.AttachDispatch(IApp.get_ActiveDocument());<BR>        IDoc-&gt;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 -&gt;'<BR>                                                       f:\haohuibin\testarx\acad.h(5) : see declaration of 'IAcadDocument'<BR>F:\haohuibin\testarx\XiTong.cpp(289) : error C2227: left of '-&gt;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)

梦幻神话 发表于 2005-4-27 10:13:00

1、如果你用的是VC6.0 的话:


IDoc.AttachDispatch(IApp.GetActiveDocument());


IDoc-&gt;Close(vFull,vNull);


       


2、接口要用到变体 首先定义:


COleVariant vNull(""),<BR>                vTrue((short)TRUE),<BR>                vFull((short)FALSE);


       


<BR>

pandoram 发表于 2005-4-27 11:43:00

这个IAcad是给别的程序用的OLE包装类啊, 在CAD里面自己用自己的OLE..-__-


而且这似乎是关闭文件不保存, 不是关闭整个CAD程序不保存啊..


直接结束CAD的话在按钮上用Win API的::ExitProcess()就好了吧..

h2023197 发表于 2005-4-27 16:20:00

谢谢上面两位大侠!!!!OK
页: [1]
查看完整版本: 通过按钮关闭AUTOCAD?