找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 4026|回复: 35

[讨论]:关闭文档时不弹出保存对话框的实现

[复制链接]
发表于 2005-9-4 14:54:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
不知道 点文档右上角关闭按钮的消息 是哪个,暂时用了
[B]case AcRx::kPreQuitMsg:
        acDocManager->curDocument()->cDoc()->SetModifiedFlag(FALSE);
        break;[/B]

在测试中,发现这个函数好像没有起到任何作用。

参考了另外一个帖子,用如下代码
[B]void infcdoc::documentLockModeChanged(AcApDocument* x0,
                                      AcAp::DocLockMode myPreviousMode,
                                      AcAp::DocLockMode myCurrentMode,
                                      AcAp::DocLockMode currentMode,
                                      const char* pGlobalCmdName)
{
        // TODO: implement this function.
        CString str = pGlobalCmdName;
        str.MakeLower();

        if( !(currentMode & 0x02) )
        {
                if( str=="close" || str=="quit" )
                {
                        acedAlert("fgd");
                        //acDocManager->curDocument()->cDoc()->SetModifiedFlag(FALSE);
                        keybd_event(0x4E,MapVirtualKey(0x4E,0),0,0);//按下N键。
                        keybd_event(0x4E,MapVirtualKey(0x4E,0),KEYEVENTF_KEYUP,0);//放开N键。
                }

        }
}[/B]
这样在用close或quit命令退出时可以实现直接退出。。。
但是在按了右上角的关闭按钮时,并不能激发键盘事件。。。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

请大家教教要怎么才能实现关闭文档时不弹出保存对话框,直接不保存退出。

软件马上就要提交了,就差这个东西了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-9-4 18:43:12 | 显示全部楼层
用 acdbSetDbmod()

声明 extern long __cdecl acdbSetDbmod(class AcDbDatabase *,long);

使用 acdbSetDbmod(pDb, 0);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-5 10:58:35 | 显示全部楼层
使用的是autocad2000的arx工具开发,没有acdbSetDbmod函数。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 19:42:37 | 显示全部楼层
那个函数没写在文档中,但从acdb*.dll中已经输出了;可以直接使用,但要提前声明,以便编译器从acdb*.lib中找到它。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-5 21:20:31 | 显示全部楼层
原来是这样子的,谢谢啊

但是为什么在帮助里面找不到这个函数呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-24 18:04:15 | 显示全部楼层
感谢huihuo !
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-19 16:39:47 | 显示全部楼层
我试验过了,以上任何一种方法都不行啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-21 23:12:35 | 显示全部楼层
用COM可以轻松实现.
绝对可行.....................
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-22 10:09:18 | 显示全部楼层
请楼上兄指点一下,COM我还不是很了解
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-22 22:31:05 | 显示全部楼层
IAcadApplication IApp;

        IAcadDocument IDoc;

        IApp.AttachDispatch(acedGetAcadWinApp()->GetIDispatch(TRUE));

                      IDoc.AttachDispatch(IApp.GetActiveDocument());

                      IDoc.Close(vFalse,COleVariant(DWGFileName));
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-22 22:57:16 | 显示全部楼层
感谢楼上的兄弟,我明天去研究一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-22 23:13:37 | 显示全部楼层
不用客气,

前段时间你不是在研究自定义类么?

成果怎么样了~~?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-11-23 09:56:02 | 显示全部楼层
谢谢你还记得我啊,现在基本掌握了,但还是有一个很奇怪的问题有待解决的,你近来又有何技术上的突破。关于自定义类的采用,我还是有些担心会不会有些其他的遗留问题,所以现在还没有大量采用自定义了,其实刚开始你对我的帮助是挺大的。你在自定义类方面如何啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-13 11:03:22 | 显示全部楼层
这里专家真多啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-6 12:36:34 | 显示全部楼层
再次请问梦幻神话 你的那段代码应该加在什么地方啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 13:41 , Processed in 0.369585 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表