为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 技术教程 正文

MFC编辑器 BCG - Outline解析器的XML格式

三叶资源网 2022-06-25 12:00:38 技术教程 487 ℃ 0 评论

点击“了解更多”获取工具

BCGSoft Professional Editor(BCGPEdit)是一款能让您将高级编辑控件合并到任何基于MFC的应用程序的MFC扩展库。这个编辑器支持各种类型的应用程序,从简单的客户端到复杂的开发工具都可以集成这款编辑控件。

本文介绍了与CBCGPOutlineParser一起使用的XML文件格式,以及编辑控件的自动概述功能,通过调用CBCGPEditCtrl::LoadOutlineParserXMLSettings来调用XML解析器。

用于大纲分析器的结构如下:

<SETTINGS>
<OUTLINE_DATA>
<IgnoreOneLineBlocks></IgnoreOneLineBlocks>
<EscapeSequences>
<EscapeSequence></EscapeSequence>
</EscapeSequences>

<BLOCKS>
<BLOCK>
<Start></Start>
<End></End>
<ReplaceString></ReplaceString>
<AllowNestedBlocks></AllowNestedBlocks>
<Ignore></Ignore>
</BLOCK>
</BLOCKS>
</OUTLINE_DATA>
</SETTINGS>

除了主要的“SETTINGS”标签外,没有其他强制性标签。

“OUTLINE_DATA”标签定义常规轮廓分析器设置。

  • "IgnoreOneLineBlocks"标签定义了编辑控件是否应将一个行块视为可折叠的,默认为“ False”。
  • "EscapeSequences" 标签定义转义序列的列表。
  • "EscapeSequence"标签表示单个转义序列。
  • "BLOCKS"标记用于该语言的语法定义。 每个块指定规则,轮廓分析器如何找到轮廓可折叠区域。 当您需要定义一组相同语言语法块的自动概述区域时,此方法很有用。 对于每个块,XML解析器将调用CBCGPOutlineParser::AddBlockType。
  • “BLOCK”标记表示单个块
    • "Start" - 定义BlockType::m_strOpen
    • "End" - 定义BlockType::m_strClose
    • "ReplaceString" - 定义BlockType::m_strReplace, 默认为"..."
    • "AllowNestedBlocks" - 定义BlockType::m_bAllowNestedBlocks,默认为"True"
    • "Ignore" - 定义BlockType::m_bIgnore,默认为“ False”

C ++的默认XML设置:

<SETTINGS>
<OUTLINE_DATA>
<IgnoreOneLineBlocks>True</IgnoreOneLineBlocks>
<IncludeSpaceLines>True</IncludeSpaceLines>
<EscapeSequences>
<EscapeSequence>\\\"</EscapeSequence>
</EscapeSequences>
<BLOCKS>
<BLOCK>
<Start>\\\"</Start>
<End></End>
<ReplaceString></ReplaceString>
<AllowNestedBlocks>False</AllowNestedBlocks>
<Ignore>True</Ignore>
</BLOCK>

<BLOCK>
<Start>\"</Start>
<End>\"</End>
<ReplaceString>\"\"</ReplaceString>
<AllowNestedBlocks>False</AllowNestedBlocks>
<Ignore>True</Ignore>
</BLOCK>

<BLOCK>
<Start>{</Start>
<End>}</End>
<ReplaceString>..</ReplaceString>
<KEYWORDS>
<Keyword>else</Keyword>
<Keyword>struct</Keyword>
<Keyword>enum</Keyword>
<Keyword>switch</Keyword>
<Keyword>catch</Keyword>
<Keyword>try</Keyword>
<Keyword>for</Keyword>
<Keyword>operator</Keyword>
<Keyword>class</Keyword>
<Keyword>if</Keyword>
<Keyword>union</Keyword>
<Keyword>do</Keyword>
<Keyword>while</Keyword>
<Keyword>namespace</Keyword>
</KEYWORDS>
</BLOCK>

<BLOCK>
<Start>{</Start>
<End>}</End>
<ReplaceString>...</ReplaceString>
</BLOCK>

<BLOCK>
<Start>//</Start>
<End>\n</End>
<ReplaceString>/**/</ReplaceString>
<AllowNestedBlocks>False</AllowNestedBlocks>
</BLOCK>

<BLOCK>
<Start>/*</Start>
<End>*/</End>
<ReplaceString>/**/</ReplaceString>
<AllowNestedBlocks>False</AllowNestedBlocks>
</BLOCK>
</BLOCKS>
</OUTLINE_DATA>
</SETTINGS>

Tags:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
EXUI缓动登陆界面源码吃鸡泰服矩阵深度学习限制未授权U盘群控模拟器火山安卓TCP通信易语言5.8检测更新易语言视频教程文件编码检测LocalStorage桌面小精灵皮肤模块源码贪玩蓝月今日头条关键词采集防抓包例程标签浏览器M3U8视频批量转码归属地查询
最新评论