找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2358|回复: 12

[教学] 使用 Table 中的一点体会

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-13 17:35:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在 Autocad  中新建 Table 由  TableStyle 控制,TableStyle 中几个常用属性

RowType 行类型

acDataRow   数据区
acHeaderRow  表头行(第二行)
acTitleRow 标题行(第一行)

1 SetTextHeight 设置文字高度
设置三个区域文字高度
  (vla-settextheight nTableStyle acDataRow textHeight)
  (vla-settextheight nTableStyle acHeaderRow textHeight)
  (vla-settextheight nTableStyle acTitleRow textHeight)

2 Margin 文字距格线距离
VertCellMargin 文字距垂直格线距离
HorzCellMargin 文字距水平格线距离
这两个属性对 TableStyle 是全局有效的,如果在 Table 中只能单格设置 ,使用 vla-setmarjin

  (vla-put-VertCellMargin nTableStyle 1.5)
  (vla-put-HorzCellMargin nTableStyle 1.5)

3 SetAlignMent 文字对齐方式
包括
acBottomCenter
Centers text at a point based on the bottom of the text.
acBottomLeft
Left-justifies text at a point based on the bottom of the text.
acBottomRight
Right-justifies text at a point based on the bottom of the text.
acMiddleCenter
Centers text at a point based on the middle of the text.
acMiddleLeft
Left-justifies text at a point based on the middle of the text.
acMiddleRight
Right-justifies text at a point based on the middle of the text.
acTopCenter
Centers text at a point based on the top of the text.
acTopLeft
Left-justifies text at a point based on the top of the text.
acTopRight
Right-justifies text at a point based on the top of the text.

  (vla-setalignment nTableStyle acDataRow acMiddleCenter);_数据区局正中
  (vla-setalignment nTableStyle acHeaderRow acMiddleCenter);_表头行居正中
  (vla-setalignment nTableStyle acTitleRow acMiddleCenter);_标题行居正中

待续.....

评分

参与人数 1D豆 +5 贡献 +1 收起 理由
炫翔 + 5 + 1 很给力!经验;技术要点;资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-11-13 17:58:54 | 显示全部楼层
3 SetGridVisibility 设置格线显示或隐藏
object.SetGridVisibility(gridLineTypes, rowTypes, bValue)

gridLineType 包括 ,和 Excel 格线设置差不多
acHorzBottom  Top or bottom horizontal grid line, based on the flow direction.
acHorzInside    All horizontal grid lines, excluding the top and bottom lines.
acHorzTop   Top or bottom horizontal grid line, based on the flow direction.
acInvalidGridLine    An invalid grid line.
acVertInside   All the vertical grid lines, excluding the farthest left and farthest right grid lines.
acVertLeft  Farthest left grid line.
acVertRight Farthest right grid line.

  (vla-setGridVisibility nTableStyle acHorzTop acTitleRow :vlax-false);_设置标题行水平线隐藏
  (vla-setGridVisibility nTableStyle acVertLeft acTitleRow :vlax-false);_设置标题行左侧垂直线隐藏
  (vla-setGridVisibility nTableStyle acVertRight acTitleRow :vlax-false);_设置标题行右侧垂直线隐藏

4  Table 行的最小高度是由以下几个因素控制的
a) 文字高度
b) 字与格线间隙
c) 双线时的间隙
所以每行的最小高度为  textheight + VertCellMargin + GridDoubleLineSpacing ,在创建 Table 后有可以使用 GetMinimumColumnWidth (最小列宽)、GetMinimumRowHeight(最小行高)查询 ,如果想改变这两个值,可以将 Table 缩小 0.1  倍后再重新设置 行高、字高等


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-11-13 18:10:26 | 显示全部楼层
TableStyle 的存储位置

在 ActiveX Help 中 TableStyle 位于 Document 下,这是一个错误!事实上 TableStyle 是存储在词典中的,总的条目是 ACAD_TABLESTYLE
获取方法
(vla-item (vla-get-Dictionaries
     (vla-get-activedocument (vlax-get-acad-object))
   )
   "acad_tablestyle"
)
其中 standard 样式就像 0  层,必须的。通过 count 和 item 就可以获取出全部 TableStyle

创建自己的 TableStyle

使用 AddObject 方法
(vla-addobject tableStyle myname "AcDbTableStyle")

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2014-11-13 18:23:45 来自手机 | 显示全部楼层
这个Tab|e不容易搞明白,最好的办法就象我一样永不使用它
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-11-13 18:33:31 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2014-11-13 18:23
这个Tab|e不容易搞明白,最好的办法就象我一样永不使用它

研究过后你会喜欢上的!{:soso_e100:}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2014-11-13 19:09:49 | 显示全部楼层
受教了,回去消化消化{:soso_e121:}。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2014-11-13 19:59:17 | 显示全部楼层
本帖最后由 st788796 于 2014-11-13 20:34 编辑

使用 Table 应该像使用  Layer  TextStyle 一样,建立自己的 TableStyle 并设置,有些属性在 TableStyle 中设置更方便,比如 VertCellMargin  HorzCellMargin ,在 Table 中就不能整体设置了

Free-lancer 的一个 TableStyle  帖子
http://bbs.xdcad.net/thread-670321-1-1.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-11-14 08:15:02 来自手机 | 显示全部楼层
样式设置中有一个利用现有 Table 方式直接创建和 Table object 一模一样的TableStyle,这对经常使用的表格将无比方便,就像定义图库定义一组  表格库

点评

我看到的成功运用Table的是pccad用它来做明细表,你有没有成功运用的示例?  详情 回复 发表于 2014-11-14 09:05
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2014-11-14 09:05:31 | 显示全部楼层
iLisp 发表于 2014-11-14 08:15
样式设置中有一个利用现有 Table 方式直接创建和 Table object 一模一样的TableStyle,这对经常使用的表格 ...

我看到的成功运用Table的是pccad用它来做明细表,你有没有成功运用的示例?

点评

只要有制出的表,你就可以存成样式,这里主要是表头、列数,数据区用InsertRows后写数据即可  详情 回复 发表于 2014-11-14 11:28
论坛上有很多啊,你去API应用论坛,看看ST,EACHY的关于制表的帖子。  详情 回复 发表于 2014-11-14 09:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2014-11-14 09:37:14 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2014-11-14 09:05
我看到的成功运用Table的是pccad用它来做明细表,你有没有成功运用的示例?

论坛上有很多啊,你去API应用论坛,看看ST,EACHY的关于制表的帖子。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-11-14 11:28:00 来自手机 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2014-11-14 09:05
我看到的成功运用Table的是pccad用它来做明细表,你有没有成功运用的示例?

只要有制出的表,你就可以存成样式,这里主要是表头、列数,数据区用InsertRows后写数据即可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 19:47 , Processed in 0.501020 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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