icever,请问获取了定位坐标后应该怎么加上文字?谢谢!!
这样……
使用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();
呵呵呵……
说过了呀,我不是高手,那个也只是说说怎么使用TEXT对象罢了 :)其实同样的目的,可以用不同的方法来实现,ARX里也只是把基础的一些东西封装起来,用起来比较方便而已。
所以,同样的,也可以只用坐标来实现上面你要的功能,只不过都要事事都自己来做,显得有些麻烦。
如果用到ARX里的一些对象和功能,就会简便很多,只是你需要先熟悉。
只是呢,不好意思的说,俺也是才学MFC,ARX还有CAD这东西 :( 目前做的这个小东西呢,实在又简单的很,也用不到太多的东西,所以也没多看,查查帮助,试着写写就好了。
页:
[1]