zoukankan      html  css  js  c++  java
  • 将块中的文字设置成属性,即实现块中文字可拖动的功能

    bool CInsertTyDlg::AlterDefinition(AcDbBlockReference *pRef, AcDbObjectId objId)
    {
    AcDbBlockTableRecord *pBlkTabRcd = NULL;
    acdbOpenObject(pBlkTabRcd, objId, AcDb::kForWrite);
    if (pBlkTabRcd->hasAttributeDefinitions())
    {
    AcDbBlockTableRecordIterator *pItr = NULL;
    pBlkTabRcd->newIterator(pItr);
    AcDbEntity *pEnt = NULL;
    for (pItr->start(); !pItr->done(); pItr->step())
    {
    pItr->getEntity(pEnt, AcDb::kForWrite);
    AcDbAttributeDefinition *pAttDef = NULL;
    pAttDef = AcDbAttributeDefinition::cast(pEnt);
    if (pAttDef != NULL)
    {
    AcDbAttribute *pAtt = new AcDbAttribute();
    pAtt->setPropertiesFrom(pAttDef);
    pAtt->setInvisible(pAttDef->isInvisible());
    AcGePoint3d ptBase = pAttDef->position();
    ptBase += pRef->position().asVector();
    pAtt->setPosition(ptBase);
    pAtt->setHeight(pAttDef->height());
    pAtt->setRotation(pAttDef->rotation());
    pAtt->setTag(pAttDef->tag());
    CString str = pAttDef->textString();
    pAtt->setTextString(str);
    pRef->appendAttribute(pAtt);
    pAtt->close();
    }
    pEnt->close();
    pAttDef->close();
    }
    delete pItr;
    }
    pRef->close();
    pBlkTabRcd->close();
    return true;
    }

    AcDbAttributeDefinition *pAttDef = new AcDbAttributeDefinition();
    pAttDef->setPosition(ptInsert);
    pAttDef->setTag(strProperty);
    pAttDef->setTextString(strValue);
    pAttDef->setTextStyle(textId);
    pAttDef->setHeight(pText->height());
    pBlkTabRcd->appendAcDbEntity(pAttDef);
    pAttDef->close();
    pText->erase();

  • 相关阅读:
    H.Playing games
    P4721 【模板】分治 FFT
    hdu5730 分治fft
    hdu6394Tree lct
    bzoj2763: [JLOI2011]飞行路线 最短路
    bzoj2154: Crash的数字表格 莫比乌斯反演
    bzoj3211: 花神游历各国 线段树
    溢流
    css控制继承
    “<textarea>”内的文字对齐
  • 原文地址:https://www.cnblogs.com/xzh1993/p/5032975.html
Copyright © 2011-2022 走看看