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>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。