找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: cd1990

[ARX程序]:求援

[复制链接]
 楼主| 发表于 2004-1-6 17:27:41 | 显示全部楼层
你说的这应该是模式对话框和非模式对话框的问题,看看C++关于这方面的论述吧。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-1-6 17:36:31 | 显示全部楼层
不是的!
我不想交互式画图,只想按我的规定的画图,点击对话框按钮画图,对话框不必关闭!
现在问题是对话框不关闭图就画不出来,一关闭对话框图就出来了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-1-7 08:15:59 | 显示全部楼层
dlg.h//
#include "resource.h"
#include "acui.h"
#include "adui.h"
#include "adslib.h"
class dlg : public CAcUiDialog
{public:
dlg(CWnd* pParent = NULL);
enum { IDD = IDD_DIALOG1 };
protected:
virtual void DoDataExchange(CDataExchange* pDX);
afx_msg void OnpickPoint();
DECLARE_MESSAGE_MAP()
};
dlg.cpp//
#include "stdafx.h"
#include "resource.h"
#include "dlg.h"
dlg::dlg(CWnd* pParent /*=NULL*/)
: CAcUiDialog(dlg::IDD, pParent)
{
}
Acad::ErrorStatus postToDatabase(/*[in]*/AcDbEntity* pEnt,/*[out]*/AcDbObjectId& idObj)
{
        Acad::ErrorStatus          es;
        AcDbBlockTable*                pBlockTable;
       
        AcDbBlockTableRecord*  pSpaceRecord;
        //确定当前有正在工作的数据库
    if (acdbHostApplicationServices()->workingDatabase()==NULL)
        return Acad::eNoDatabase;
    //获得当前图形的指针
    //获得图形的块表,打开准备读取数据
    if ((es = acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForRead))==Acad::eOk){
                //获得建模空间的记录,打开准备写数据  
               
        if ((es = pBlockTable->getAt(ACDB_MODEL_SPACE, pSpaceRecord, AcDb::kForWrite))==Acad::eOk){
                        //添加实体指针到建模空间后关闭指针和建模空间记录
                       
            if ((es = pSpaceRecord->appendAcDbEntity(idObj, pEnt))==Acad::eOk)
                pEnt->close();
            pSpaceRecord->close();
        }
                //关闭块表
                pBlockTable->close();
               
    }
        //返回状态信息
       
        return es;
}
//!画直线
Acad::ErrorStatus DrawLine(AcGePoint3d startPoint,AcGePoint3d endPoint,int nColor,AcDbObjectId& idObj)
{
        AcDbLine* pLine=new AcDbLine(startPoint,endPoint);
       
        pLine->setColorIndex(nColor);
        //        pLine->setThickness(10.0);
        //        pLine->setLineWeight(AcDb::LineWeight::kLnWt200);
       
        //如果创建直线出错,返回错误信息
        if (!pLine)
        {
                acedAlert("Not enough memory to create a Line!");
                return Acad::eOutOfMemory;
        }   
        Acad::ErrorStatus es=postToDatabase(pLine, idObj);
        return es;
}
void dlg::OnDrawLine()
{
AcGePoint startP=AcGePoint(0,0,0);
AcGePoint endP=AcGePoint(100,100,0);

AcDbObjectId idObj;

        DrawLine(startP,endP,1,idObj);

}

注意 dlg为模式对话框,
鼠标点击按钮图没有显示出来,关闭对话框后图才出来,怎么样点击鼠标后图就出来而且对话框不能关闭!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 11:04 , Processed in 0.318852 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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