找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1035|回复: 6

[求助]:隐含MFC对话框,返回ACAD取点的问题

[复制链接]
发表于 2002-11-24 22:54:36 | 显示全部楼层 |阅读模式

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

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

×
void CDialog_MyDlg::OnButton1()
{
        ads_point pt0, pt1;
        CWnd* pAcadWnd = CWnd::FromHandle(adsw_acadMainWnd());
        ShowWindow(SW_HIDE);
        pAcadWnd->EnableWindow(TRUE);
        pAcadWnd->SetFocus();

        ads_printf("\n");
        ads_getpoint(NULL, "\r拖动视图(PAN), 输入第一个点:", pt0);

        m_rX = pt0[X];
        m_rY = pt0[Y];
        pAcadWnd->EnableWindow(FALSE);
        CDialog::EnableWindow(TRUE);
        ShowWindow(SW_SHOW);
        SetFocus();       
}

多数情况是正常的,但另一个按纽响应函数OnButton2()中与这个函数相似,只是使用了ads_grread(),实现拖动
同样返回,每次OnButton2()都正常,但使用OnButton2()后,OnButton1()函数就不干了,要反复点Button1,偶然能正常。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-11-24 23:07:00 | 显示全部楼层

Re: [求助]:隐含MFC对话框,返回ACAD取点的问题

最初由 xb4270293 发布
[B]void CDialog_MyDlg::OnButton1()
{
        ads_point pt0, pt1;
        CWnd* pAcadWnd = CWnd::FromHandle(adsw_acadMainWnd());
        ShowWindow(SW_HIDE);
        pAcadWnd->EnableWindow(TRUE);
        pAcadWnd->SetFocus();

        ads... [/B]


论坛以前贴过模式对话框和非模式对话框使用ADS_GETXXX函数的详细代码和出现错误原因。

1、隐藏对话框
2、激活父窗口
3、做ADS_GETXXX
4、激活模式框,设置焦点
5、禁止父窗口

  1. [font=courier new]
  2. GetParent ()->EnableWindow (TRUE) ; // Enable the parent
  3. ShowWindow (SW_HIDE) ; // Hide ourself
  4. GetParent ()->SetFocus () ; // Give focus to the parent
  5.                 // you do not really need to
  6.                 // do that (but it's better)

  7. ads_point pt ; // Do something...
  8. acedGetPoint (NULL, "\nPick a point: ", pt) ;
  9. acutPrintf ("\nYou picked (%.2lf, %.2lf, %.2lf,)\n",
  10.     pt [X], pt [Y], pt [Z]
  11. ) ;

  12. ShowWindow (SW_SHOW) ; // Show ourself
  13. SetFocus () ; // Give focus to ourself
  14. GetParent ()->EnableWindow (FALSE) ; // Disable the parent
  15. EnableWindow (TRUE) ; // Because our parent was disabled
  16.               // we need to enable ourself
  17. [/font]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-11-24 23:13:08 | 显示全部楼层
我没有搜索到,请明示!:<

boss的代码段中,没有锁定资源的程序行? :-(

boss的过程与我的程序大同小异,都是这样做,否则一个点也取不到,问题在时灵时不灵,让人伤心。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-11-25 15:18:43 | 显示全部楼层
arx里有你所需要的语句来达到你的目的:(好像是)begineditcommand,completeeditcommand,等等,你查查!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2002-12-2 02:00:34 | 显示全部楼层
XD的方法与我的方法一样,在R14下面 “不灵”!!!

我们仅讨论R14的情况,或许2000以后,问题不存在了?!

由于对话框资源与R14经常冲突,因此,使用资源重载,
但是带来的问题有:1、隐含对话框,取点有时不灵;
2、使用ads_grtext向状态栏中输出字符,状态栏无法恢复;

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 00:44 , Processed in 0.430682 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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