找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 351|回复: 2

[ARX程序]:求救: 对话框在屏幕取点问题!!

[复制链接]
发表于 2003-11-13 18:46:23 | 显示全部楼层 |阅读模式

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

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

×
我用VC++ AppWizard  生成一个对话框,要在上面进行一些处理,有一个功能需要用鼠标在屏幕上选取一个点,我建立了一个按钮,在按钮的实现代码如下:

        // Hide the dialog and give control to the editor
        BeginEditorCommand();

    ads_point pt;

    // Get a point
    if (acedGetPoint(NULL, "\n请选取一个点: ", pt) == RTNORM)
        {
        // If the point is good, continue
        CompleteEditorCommand();
                m_posX = pt[X];
                m_posY = pt[Y];

                UpdateData(FALSE);

    }
        else
        {
        // otherwise cancel the command (including the dialog)
        CancelEditorCommand();
    }

对话框我已改成 CAcUiDialog 派生

建立对话框的语句是

CDlgTest dlg(CWnd::FromHandle(adsw_acadMainWnd()));
        dlg.DoModal() ;


结果运行时,没有反应,点其它按钮退出对话框时整个CAD都被关掉了,上面的代码我是参照 帮助的例子上写的,请问要实现这个功能还需要怎么改动?

另外 例子中 OnInitDialog() 中调用的 DLGCTLINFO  等代码是起什么作用?必须要写嘛? 控件间的数据不能用 UpdateData 函数来传递嘛? DisplayXXX 等函数为什么那么写,必须每个控件都要写嘛?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-11-14 09:28:14 | 显示全部楼层
给你一个这个程序的例子,就是帮助中讲的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-14 13:12:34 | 显示全部楼层
谢谢好意,这个我有,只是不明白为什么要那么写,而且一用MFC,再用CAD的函数就不好用了,郁闷!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 06:48 , Processed in 0.288509 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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