在 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 Kits8.1inx86mt.exe" -manifest <app.manifest文件路径> -outputresource:<exe 文件路径>;1
这样操作以后,在嵌入的 CEF 浏览器中就会显示 tooltip 了
其它注意事项
- 上面的操作是在 win 10 环境操作的,如果要支持 xp 系统,需要使用 "C:Program Files (x86)Microsoft SDKsWindowsv7.1ABinmt.exe" 下的 mt.exe
- 可以在项目设置中添加自定义生成事件,让项目在生成 exe 后自动执行上面的命令,如下图:
欢迎加 技术交流 QQ 群讨论日常开发遇到的问题,群号:599320555
转载请注明来自博客园 TerryHe 的微博 https://www.cnblogs.com/luckbird/p/cef-tooltip.html