最近在ARX中需要创建一个新图层,这本是一个简单的步骤,但却经过了不少折腾,现记录如下。
我原本的做法是在堆上创建一个AcDbLayerTableRecord,然后设置这个层表记录的各项参数,最后才添加到层表中,但是在调试时发现,有些参数设置不上去(例如图层透明度、图层说明等等)。后来经过一些尝试,发现需要先将层表记录添加到层表和数据库中(利用add方法),然后才能设置这些参数。
代码如下。

void CreateNewLayer()
{CString sLayerName = _T("NewCreate");AcDbLayerTable* pLayerTbl = NULL;if (Acad::eOk == acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLayerTbl, AcDb::kForWrite)){if (!pLayerTbl->has(sLayerName)){AcDbLayerTableRecord* pLayerRec = new AcDbLayerTableRecord;if (Acad::eOk == pLayerTbl->add(pLayerRec))  //请注意,一定要先添加到层表和数据库当中,然后才能设置透明度、说明等参数{pLayerRec->setName(sLayerName);pLayerRec->setIsFrozen(0);     // layer to THAWEDpLayerRec->setIsOff(0);            // layer to ONpLayerRec->setVPDFLT(0);       // viewport defaultpLayerRec->setIsLocked(0);        // un-lockedAcCmTransparency trans;         // 设置透明度trans.setAlpha(50);pLayerRec->setTransparency(trans);AcCmColor cColor;               // 设置颜色cColor.setRGB(255, 0, 0);pLayerRec->setColor(cColor);pLayerRec->setDescription(_T("这是一个新创建的图层"));    //设置说明pLayerRec->close();}elsedelete pLayerRec;}pLayerTbl->close();}
}

ObjectARX创建新图层的注意事项相关推荐

  1. ObjectARX创建一条直线并把该直线设置为某一新建图层(尚有缺陷)

    ObjectARX创建一条直线并把该直线设置为某一新建图层 项目场景:绘制对线并设置图层 解决方案:对张帆书中代码进行了修改 项目场景:绘制对线并设置图层 画一条线, 并且给这条线设置一个具有新名字的 ...

  2. Java多线程(四):使用Executors创建线程池及其注意事项

    文章目录 1. 简介 2. newCachedThreadPool 3. newFiexedThreadPool 4. newSingleThreadExecutor 5. newScheduledT ...

  3. 前嗅ForeSpider教程:如何创建新任务

    从今天起,小编开始教大家逐步进行可视化配置操作.首先,我们来学习第一步:创建新任务,主要包括创建新任务的操作步骤,操作中的注意事项两部分内容. 一,创建新任务操作步骤: 1.添加新任务 点击任务列表右 ...

  4. ObjectArx创建指定块

    ObjectArx创建自定义块 一. 目的       仿照AutoCad的Block命令,实现简版创建块功能! 二.  开发环境 Win7操作系统,AutoCad2012, VS2008, Obje ...

  5. 在ArcGIS Online中创建三维图层和网络场景(2017.9)

    原文地址 作者: Russell Roberts 因为内容比较简略的原因,本文主要使用google机翻,人工校对 为ArcGIS Online创建3D内容 在本博客中,我将采用此ArcGIS Pro教 ...

  6. 前嗅ForeSpider教程:如何创建新任务 1

    从今天起,小编开始教大家逐步进行可视化配置操作.首先,我们来学习第一步:创建新任务,主要包括创建新任务的操作步骤,操作中的注意事项两部分内容. 一,创建新任务操作步骤: 1.添加新任务 点击任务列表右 ...

  7. Ps 初学者教程「62」如何在图片中创建新背景?

    欢迎观看 Photoshop 教程,小编带大家了解如何使用 ps 将照片主题置于全新环境中. 不需要旅行预算来为您的照片寻找新的背景,第一步是隐藏朴素的灰色墙.选中模特图层,来到工具面板选择「快速选择 ...

  8. 《Adobe After Effects CS6中文版经典教程》——2.3 创建新合成图像

    本节书摘来自异步社区<Adobe After Effects CS6中文版经典教程>一书中的第2课,第2.3节,作者 [美]Adobe公司 ,译者 张明,更多章节内容可以访问云栖社区&qu ...

  9. android sqlite动态创建表,Android 解决sqlite无法创建新表的问题

    使用SQLite时,继承SQLiteOpenHelper, onCreate方法只有在第一次创建数据库的时候才会被调用, 因此,重新更改或者添加表时,需要在DDMS里面删掉原来的.db文件,重新运行, ...

最新文章

  1. 2020年AI如何走?Jeff Dean和其他四位“大神”已做预测!
  2. Yii2框架源码分析之如何实现注册和登录
  3. JSP中getParameter和getAttribute区别
  4. Vue指令篇_v-for_列表渲染
  5. JAVA连接数据库ij_Derby 客户端 ij使用
  6. 做系统的U盘如何格式化
  7. iQOO Z5内置5000mAh大电池:超长续航安全感爆棚
  8. matlab2c使用c++实现matlab函数系列教程-sum函数
  9. maven2 clean 错误的解决
  10. js-权威指南学习笔记4
  11. EXCEL中制作省市区行政区地图
  12. 2021-09-06
  13. 腾讯cdn设置 php,WordPress使用腾讯云CDN配置教程(https)
  14. thinkpad重装系统不引导_联想装win10系统引导不进系统怎么办?(完美解决方法)
  15. 《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜
  16. SpringSecurity自定义多Provider时提示No AuthenticationProvider found for问题的解决方案与原理(一)
  17. py实现高斯列选主元消元法
  18. Discuz论坛搬家教程
  19. 上饶师范学院C语言试卷,13级普通科试卷A卷.doc
  20. 网络推广主管工作汇报实操指南

热门文章

  1. it企业实习_IT企业认知实习心得
  2. C语言位运算--获取第i位、清零第i位、赋值第i位
  3. MAALA4.14.2_空间和子空间 (Space and Subspace)
  4. Google Play services for Android下载:失败,华为系统限定死了,上网找了几种方法全部失败
  5. Hyper-V--虚拟机迁移
  6. 你真的了解软件开发的本质吗?
  7. ERP中BOM变更操作的简单操作
  8. 美通社企业新闻汇总 | 2019.1.22 | 红点中国完成4亿美元基金募集;天境生物再获美国FDA临床许可...
  9. 【知网研学】使用方法
  10. Delphi Web前端开发教程(4):基于TMS WEB Core框架