bb 发表于 2002-5-11 17:46:00

icever,请问获取了定位坐标后应该怎么加上文字?谢谢!!

icever 发表于 2002-5-11 18:00:00

这样……

使用AcDbText对象(查一下帮助里的构造函数),和往图里加一条直线的过程是完全一样的。

    设置文字的样式,在AcDbText Editing Functions里都有说明。

        AcDbDatabase *pCurDb;
        AcDbBlockTable *pBlkTable;
        AcDbBlockTableRecord *pBlkTableRec;
        CString Ltxt;   //也可以从对话框获得你要标记的文字
        AcDbObjectId txtId;
        AcGePoint3dtxt(0.0,0.0,0.0);

        UpdateData(true);    //这里从一个CEdit控件里得到文字内容
        Ltxt=m_EDIT1;
        UpdateData(false);

        pCurDb = acdbHostApplicationServices()->workingDatabase();
        pCurDb->getBlockTable(pBlkTable, AcDb::kForRead);
        pBlkTable->getAt(ACDB_MODEL_SPACE, pBlkTableRec, AcDb::kForWrite);       
        AcDbText *ptxt= new AcDbText(txt,Ltxt);
        pBlkTableRec->appendAcDbEntity(txtId, ptxt);
        pBlkTable->close();
        pBlkTableRec->close();
        ptxt->close();

dwjnet 发表于 2002-5-17 23:24:00

icever 发表于 2002-5-21 08:22:00

呵呵呵……

说过了呀,我不是高手,那个也只是说说怎么使用TEXT对象罢了 :)

    其实同样的目的,可以用不同的方法来实现,ARX里也只是把基础的一些东西封装起来,用起来比较方便而已。

    所以,同样的,也可以只用坐标来实现上面你要的功能,只不过都要事事都自己来做,显得有些麻烦。

    如果用到ARX里的一些对象和功能,就会简便很多,只是你需要先熟悉。

    只是呢,不好意思的说,俺也是才学MFC,ARX还有CAD这东西 :( 目前做的这个小东西呢,实在又简单的很,也用不到太多的东西,所以也没多看,查查帮助,试着写写就好了。

dwjnet 发表于 2002-5-22 21:20:00

页: [1]
查看完整版本: icever,请问获取了定位坐标后应该怎么加上文字?谢谢!!