CEF在离屏渲染模式下没有tooltips?tooltips创建之后不显示?我以为我又遇到BUG了

在CEF的离屏渲染模式下,tooltips无法显示。经过排查,发现是需要手动处理CefDisplayHandler::OnTooltip事件,并且涉及到TOOLINFO结构大小的计算。最终通过调整manifest文件和cbSize的设置,解决了tooltips的显示问题。此外,还需要确保主程序的manifest正确,以便子进程获取正确风格。
摘要由CSDN通过智能技术生成

    这次我们在CEF显示的界面里加上了tooltips,也就是html的title属性,结果发现这玩意竟然不会显示,一开始我怀疑是自己的代码问题,很快我又去cefclient这个demo里测试了一下,确认了我的怀疑,只要打开了--off-screen-rendering-enabled,就会导致tooltips无法显示。我当然认为这是一个CEF的bug,于是去反馈issue,但是我同时也做了一堆搜索,一开始看到的都是关于manifest以及InitCommonControlsEx的问题,和这个问题并没有相关性。

    直到我搜到这个issue,https://bitbucket.org/chromiumembedded/cef/issues/854/cef3-title-attribute-of-tags-is-not ,CEF在OSR模式下需要开发者手动处理CefDisplayHandler::OnTooltip事件,这玩意我记得文档上也没说过,也没人说过如何处理这个事件。那我想就直接刚,手动在这里显示tooltips就行了,于是掏出以前的代码,下面是可以抄的作业。

HWND hTips = CreateWindowEx(WS_EX_TOPMOST,
            TOOLTIPS_CLASS,
            NULL,
            WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
            CW_USEDEFAULT,
            CW_USEDEFAULT,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值