如何将功能区 xml 作为资源加载?

Posted

技术标签:

【中文标题】如何将功能区 xml 作为资源加载?【英文标题】:How to load a ribbon xml as a resource? 【发布时间】:2016-07-22 05:44:19 【问题描述】:

我在运行时创建了一个功能区资源,并将其保存到目标位置。现在,当我尝试将其作为资源加载时,我无法这样做。有谁知道如何加载在运行时创建并保存到 xml 的功能区资源? 附言.xml 文件已成功保存在所需的目的地。this->SaveToXMLFile(strFilePathOfXml);

【问题讨论】:

有一个未记录的CMFCRibbonBar::LoadFromBuffer 成员,它接受一个指向XML 字符串的LPCTSTR。您可以使用CFile::Read 将您的 XML 文件加载到缓冲区中。由于 XML 文件是使用 UTF-8 编码的,因此您可能必须先将其转换为 UTF-16,然后再将其传递给 LoadFromBuffer。同样,可能还需要 UTF-16LE BOM 和 XML 编码标记。 【参考方案1】:

找到了解决办法。由于它不是原生类型资源,我们必须在.rc文件中手动声明它,也在resource.h中定义 访问下面的链接以获得清晰的图片。

msdn link to convert and load xml resource as ribbon

【讨论】:

以上是关于如何将功能区 xml 作为资源加载?的主要内容,如果未能解决你的问题,请参考以下文章

从 JAR 加载资源而不访问 ClassLoader?

Visual Studio - 单元测试加载项目中的资源

Apptication的其他功能

Pentaho PDI 无法将 ESAPI.properties 作为类加载器资源加载

使用 AppDomain 将 DLL 作为嵌入式资源文件加载

以编程方式将资源加载为字节数组