分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

我们知道RichEdit中可以打开并显示RTF文档,要实现在RichEdit中插入表格可以使用OLE方式外,还可以使用RTF 方式。关于RTF格式规范可在微软下载中心下载到,例如1.7版本下载地址:http://www.microsoft.com/download/en/details.aspx?id=22699,详细介绍了关于RTF的规范。另外,网上有《RTF文件格式规范 v1.7》全文翻译的中文版。

    开始菜单→附件→写字板,输入"Hello World",如下图所示:

    然后保存成"test.rtf",用记事本打开此文件,内容为:

1
2
3
4
{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}} 
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\sa200\sl276\slmult1\lang2052\f0\fs22 Hello World\par 

  

这些就是RTF的基本形式。下面测试显示:
1.打开VS2008,建立一个基于CRichEditView的多文档视图Unicode工程,名称取为:CTest_Richedit;
2.在OnInitialUpdate初始化函数,添加以下代码:

01
02
03
04
05
06
07
08
09
10
11
void CTest_RicheditView::OnInitialUpdate() 

    CRichEditView::OnInitialUpdate();     
    SetMargins(CRect(720, 720, 720, 720)); 
     
    CStringA rtfStr = "{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}{\\*\\generator Msftedit 5.41.21.2509;}\\viewkind4\\uc1\\pard\\sa200\\sl276\\slmult1\\lang2052\\f0\\fs22 Hello World\\par}"; 
    SETTEXTEX st; 
    st.codepage = 1200; 
    st.flags = ST_SELECTION | ST_KEEPUNDO; 
    SendMessage(EM_SETTEXTEX, (WPARAM)&st, (LPARAM)(LPCSTR)rtfStr); 

3.运行如下图所示:

    对于表格,表现为多个表行的序列。一个表行是一个被分割成单元格的连续段落序列。表行从控制字\trowd开始, \row结束。包含在一个表行中的每个段落必须指定\intbl控制字或者从前一段落继承。一个单元内可能有多个段落;单元由单元格标志(\cell控制字)结束,行由行标志(\row控制字)结束。表行也可以被定位。此时, 表行的每个段落必须具有相同的定位控制字。 表的属性可以从前一行继承;因此,连续的表行可以通过单一的<tbldef>来定义。
    下面测试最基本显示表格的RTF内容,对此表格未进行任何设置,将第6行换成下面语句:

1     CStringA rtfStr = "{\\rtf1\\ansi\\ansicpg936\\deff0\\deflang1033\\deflangfe2052{\\fonttbl{\\f0\\fnil\\fcharset134 \\'cb\\'ce\\'cc\\'e5;}}{\\*\\generator Msftedit 5.41.21.2509;}\\viewkind4\\uc1\\trowd\\cellx2000\\cellx4000\\intbl\\cell\\cell\\row\\trowd\\cellx2000\\cellx4000\\intbl\\cell\\cell\\row\\par}"; 

运行如下图所示:

    输入文字,如下图所示:

对于表格的各种设置,包括:外框宽度、边距等等,请参考RTF规范文档进行设置。

注意:对于默认的RichEdit20W只支持简单的表,而且在单元格内回车不换行,而RichEdit50W(即Version4.1)可以支持多级表,并且单元格内回车换行。以上的文章内容是基于RichEdit50W的,关于切换到RichEdit50W的介绍,请看《VC2008下CRichEditView加载RichEdit4.1版本》。

参考文章:
1.关于RTF(富文本格式)的使用  http://blog.sina.com.cn/s/blog_5d2a73550100bcth.html
2.An example editor with table and image support   http://www.codeproject.com/KB/docview/Table___Image_editor.aspx

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

VC RichEdit插入表格(RTF形式)相关推荐

  1. anki 插入表格_另一种把思维导图和excel表格放入anki的方式

    由于医学类书籍里面的知识点过于繁多杂乱,本人比较喜欢用思维导图梳理其脉络. 可是思维导图的作用更多在于理解知识而不是保存和传授知识.因此并不适合复习. 所以,我产生了把思维导图放到anki里记忆的想法 ...

  2. 【展开讲讲?xmind日常小知识】xmind2020插入表格

    在xmind2020中插入表格 最近在xmind2020里写资料,有个地方需要用表格,然后百度了半天,发现都是xmind8的教程,xmind2020的比较少,xmind2020界面与xmind8差异较 ...

  3. C# VS2012操作word文档 (二).插入表格图片

    在上一篇文章"C# VS2012创建word文档.(一)"中我们讲述了如何使用VS2012引用COM中Miscrosoft Word 14.0 Object Library实现创建 ...

  4. 计算机绘制表格教案,word中插入表格教案

    篇一:word中插入表格教学反思 <Word表格的制作>教学反思 计算机课程对于培养学生的科学精神.创新精神和实践能力,提高学生对信息社会的适应能力等方面都具有重要的意义.在计算机课的教学 ...

  5. 使用php读取文件中的内容,以表格的形式进行输出。

    使用php读取文件中的内容,以表格的形式进行输出. 读取文件中的内容,以表格的形式输出内容,地址以小写及链接的形式进行显示. file_get_contents (文件名):读取文件中的内容 expl ...

  6. wps怎么在后面加入表格_如何在WPS文档中插入表格

    在办公中经常会用到表格,表格可以将复杂的数据以行或列的形式展现出来,使数据更加直观,更加清晰,下面我们就介绍下如何在文档中插入表格. (1)插入表格.插入表格的方法很多,可以直接单击"插入& ...

  7. 查询表格——建立动态表格,使用ajax输入查询条件将后台数据查询出来以表格的形式展示出来...

    建立动态表格,使用ajax将前台查询条件传给后台,并将查询结果以表格的形式展示出来. 页面的展示效果如下图所示: 第一步:查询条件的部分: 代码如下: <div class="text ...

  8. winform简单的向richTextBox插入表格

    /// <summary>/// 插入表格/// </summary>/// <param name="col">行</param> ...

  9. LaTex自用学习笔记(为论文与数学建模排版准备)——涉及字体、符号、文档结构、插入图片、插入表格、图表浮动、数学公式、矩阵等

    目录 简介 字体的设置 符号使用情境 文档结构 插图 1.插图的方法 2.图片的参数 插入表格 图表的浮动体环境 数学公式 矩阵 自定义命令或环境 1.\newcommand和\renewcomman ...

最新文章

  1. centos文本查看及处理相关的常用命令
  2. 轻量级社会化分享openShare源码解析
  3. 调用c++_WebAssembly: 在C代码中调用JS的函数
  4. report things that go wrong
  5. boost::histogram::axis::option::growth_t用法的测试程序
  6. 封装类(Merry May Day to all you who are burried in work ~)---2017-05-01
  7. flutter 拖拽布局_Flutter 史上最牛拖动控件 Draggable
  8. death coming一直连接服务器,Death Coming总是显示无法连接网络
  9. 【C++】C++中的迭代器
  10. perl的bareword
  11. 如何使用iMovie对抖动视频进行防抖处理?
  12. 蚂蚁金服招聘-高级数据技术工程师、大数据研发工程师/专家
  13. Linux 添加IPv6策略路由,26-IPv6策略路由配置
  14. 解决centos 7 打开php文件直接下载问题
  15. 百度UEditor视频相关bug汇总和解决方案
  16. 千牛计算机使用方法,如何在电脑千牛中打开移动旺店
  17. PMP培训-项目进度管理
  18. 简单讲解前序遍历,中序遍历,后序遍历和层次遍历
  19. IS | 資訊安全基本需求
  20. ThreadLocal 简单了解

热门文章

  1. Spring RabbitMQ教程
  2. ZooKeeper动态重新配置
  3. .net core 开发 Windows Forms 程序
  4. crontab -e 报错(E518: Unknown option: foldenable)
  5. Python第七章-面向对象高级
  6. mac系统如何在当前目录下打开终端
  7. 【C语言】利用二维数组输出成绩
  8. 【C语言】输入一个字符串,并对字符串中的偶数位置的字符按从小到大的顺序排序,奇数位置的字符不动,输出排序后的结果...
  9. 泛型 typescript_如何把你的头围绕Typescript泛型
  10. electron 桌面程序_如何使用Electron使用JavaScript构建您的第一个桌面应用程序