找回密码
 立即注册

QQ登录

只需一步,快速开始

ninja_aya

中级会员

54

主题

197

帖子

561

积分

中级会员

积分
561

活字格认证

ninja_aya
中级会员   /  发表于:2015-7-20 13:49  /   查看:7621  /  回复:10
请问如何像word里面一样生成目录更新目录?

10 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-7-20 17:33:00
沙发
回复 1楼ninja_aya的帖子

请参考附件Demo:
tx_sample_toc.zip (97.65 KB, 下载次数: 131)
回复 使用道具 举报
ninja_aya
中级会员   /  发表于:2015-7-21 09:36:00
板凳
两个问题。
1.出来的目录不正规,中间没有类似word一样的.......
2.目录的字符和符号列表中的不一致。
比如我符号列表中的heading 1是 第x章
目录出来的效果不是根据我设置的来显示的。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-21 12:19:00
地板
回复 3楼ninja_aya的帖子

1,中间的.....可已通过以下代码进行添加,点的个数需要通过标题长度手动计算
  1.                             styleCount.ToString() + "," + style + "," + curPar.Text+".............................." + "," + curPar.Start.ToString());
复制代码

2.请你把当前的测试文档或Demo发送给我,避免我们之间测试环境不一致造成问题处理延迟。
谢谢
回复 使用道具 举报
ninja_aya
中级会员   /  发表于:2015-7-21 14:01:00
5#
1.第一个已经实现,但是问题是中间.的个数无法控制,目前采用12号字体,实现点数控制,只要字体一变,点数就没法控制了。
2.第二个我已经实现了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-21 17:01:00
6#
回复 5楼ninja_aya的帖子

这个问题实现的大体思路是通过计算字体和每行的剩余宽度来设置点的个数,我这边正在调查中,有进一步结果发送给你,谢谢

能否把您问题二的实现方法共享到论坛?这样其他用户遇到这个问题可以借鉴和参考。谢谢
回复 使用道具 举报
ninja_aya
中级会员   /  发表于:2015-7-22 09:17:00
7#
问题二的实现方式:因为知道用什么style作为目录,比如用标题一和标题二两个style的段抽取出来作为目录,我就把标题一和标题二的List的format提取出来,然后做拼接。
比如标题一是形式 第x章  标题二形式是 x.i
那我就获取标题一的前置字符是第,后置字符是章,然后就拼接到目录中。

第一个问题能否尽快实现,按道理你们这个空间应该提供字符宽度的计算方法,比如给定字符串,和Size就能返回给我字符占多少宽,然后我就能把总宽度减去两个边距算算需要多少个“.”的宽度
回复 使用道具 举报
ninja_aya
中级会员   /  发表于:2015-7-22 09:19:00
8#
其实第一个问题也存在一个问题,就是我无法获取当前段的List的序号是多少。所以目录里面的序号是我按次序赋予的,如果下面的段落不是按次序的序号,就不一致了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-22 11:17:00
9#
回复 7楼ninja_aya的帖子

问题二,提供下大体思路,您可以先尝试下,TX 自身并没有提供内置接口。
计算当前该行字符串算占据的宽度,我在网上搜索一个一篇资源,请参考:
http://blog.csdn.net/laorer/article/details/5148510

TX 每行宽度,可以通过以下代码获取:

  1. int lineWidth=TextControl1.Width - TextControl1.Margin.Left - TextControl1.Margin.Right;
复制代码



另外,提供一个 tx 添加 点的demo,供你参考:
tx_sample_dotnet_dots.zip (70.15 KB, 下载次数: 155)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-7-22 11:20:00
10#
回复 8楼ninja_aya的帖子

问题一,您可以把当前的设置方法写成博客发布出来,这篇文章会很有意义,TX Control 这款洋控件在Word目录汉化方面就可以落地了。如果您有时间来写这篇博客,我们可以赠送您10000~20000金币(当前价值100~200人民币)作为纪念。

能力越大责任越大~

或者您可以把代码提供给我们来整理,进而我们也可以继续沟通编号不连续问题。

先谢谢了。~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部