C++ CEF 浏览器中显示 Tooltip(标签中的 title 属性)

在 Windows 中将 CEF 集成到 C++ 客户端以后,默认是无法显示 tooltip 的,比如图片标签中的 title 属性。

实现的方式其实很简单,按下面的步骤操作就可以:

创建一个文本文件,文件名为 app.manifest,内容如下,将这个文件放到源代码文件夹

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
    </dependentAssembly>
  </dependency>

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" />
      </requestedPrivileges>
    </security>
  </trustInfo>

</assembly>

编译项目,生成 exe

然后在命令行执行下面的命令

"C:\Program Files (x86)\Windows Kits\8.1\bin\x86\mt.exe" -manifest <app.manifest文件路径> -outputresource:<exe 文件路径>;1

这样操作以后,在嵌入的 CEF 浏览器中就会显示 tooltip 了

其它注意事项

  • 上面的操作是在 win 10 环境操作的,如果要支持 xp 系统,需要使用 "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\mt.exe" 下的 mt.exe
  • 可以在项目设置中添加自定义生成事件,让项目在生成 exe 后自动执行上面的命令,如下图:

欢迎加 技术交流 QQ 群讨论日常开发遇到的问题,群号:599320555

转载请注明来自博客园 TerryHe 的微博 https://www.cnblogs.com/luckbird/p/cef-tooltip.html

posted @ 2018-12-08 14:36  hejiangyuan  阅读(1703)  评论(0编辑  收藏  举报