在 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