乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 9|回复: 0

[讨论]关于自定义双击

[复制链接]

9

主题

48

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2007-11-24 14:02:00 | 显示全部楼层 |阅读模式
在一个程序中,我定义了一个双击类.重载了 startEdit() 和 finishEdit() 函数. 但好像在程序结束后,要再运行一下任意一个命令才能结束这个双击. 请问是怎么回事?
这是类定义复制代码类的实现:
  1. #include "StdAfx.h"
  2. #include "BclClk.h"
  3. #include "FrmMain.h"
  4. BclClk::BclClk(void)
  5. {
  6. }
  7. BclClk::~BclClk(void)
  8. {
  9. }
  10. void BclClk::startEdit(AcDbEntity *pEnt, AcGePoint3d pt)
  11. {
  12. acDocManager->lockDocument(curDoc());
  13. if (pEnt->isKindOf(BclSub::desc()) == Adesk::kTrue)
  14. {
  15.   BclSub *pEntity = BclSub::cast(pEnt);
  16.   if (pEntity->upgradeOpen() == Acad::eOk)
  17.   {
  18.    CAcModuleResourceOverride resoverrid;
  19.    FrmMain *pMainFrm = new FrmMain(CWnd::FromHandle(adsw_acadMainWnd()));
  20.    pMainFrm->setEntity(pEntity);
  21.    pMainFrm->startDialog(pMainFrm, true);   
  22.    if (pMainFrm)
  23.    {
  24.     delete pMainFrm;
  25.     pMainFrm = NULL;
  26.    }  
  27.    pEntity->recordGraphicsModified();
  28.    pEntity->close();
  29.    pEntity->recordGraphicsModified();
  30.   }
  31. }
  32. acDocManager->unlockDocument(curDoc());
  33. acedUpdateDisplay();
  34. finishEdit();
  35. }
  36. void BclClk::finishEdit()
  37. {
  38. acedSSSetFirst(NULL, NULL);
  39. }
现在这样做了之后,必须得任意运行一个命令才能结束双击,看到实体的修改变化.请问我应该如何做才能让它自动结束这个双击?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-6 06:57 , Processed in 0.251186 second(s), 56 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表