在MacOS下使用cef3全选、拷贝、粘贴、剪切html的输入框文字

在MacOS使用CEF3开发时,遇到HTML输入框无法全选和拷贝的问题。通过查阅CEF官网找到解决方法,实现了全选、拷贝、粘贴和剪切功能。文章分享了主线程和辅助cpp代码片段,但存在全选后文字未显示选中状态的疑问,期待解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人前段时间在开发MacOS项目的时候遇到一个问题,我用的框架是以SDL2为窗口、CEF3为浏览器加载HTML,当我想要用"Command+C"拷贝输入框账号时,发现无法全选,更不用说拷贝了,于是在某度上搜索了大半天愣是没找到解决方案,最后在CEF官网上找到了答案,这应该是CEF3的一个bug,在这里分享一下自己解决的经验。

PS:本人第一次写博客,多有不足之处,多多包涵。

代码片段

主线程cpp片段(手动实现macOS的键盘组合键的全选、拷贝、粘贴以及剪切功能)

SDL_Event e;
uint32 modifiers = 0; /* 记录上一次的组合键键值 */
CefRefPtr<CefBrowser> browser;
browser = CefBrowserHost::CreateBrowserSync(window_info, this, url, browserSettings, nullptr);
while (SDL_PollEvent(&e) != 0)
{
   
	switch (e.type)
	{
   
		case SDL_KEYDOWN:
		{
   
			CefKeyEvent event;
            event.modifiers = keyboard_mod(e.key.keysym.mod);
            event.windows_key_code = keyboard_code(e.key.keysym.scancode);
            event.native_key_code = native_keyboard_code(e.key.keysym.scancode);
            event.type = KEYEVENT_RAWKEYDOWN;
			browser->GetHost()->SendKeyEvent(event);
            /* 记录Command命令并实现对应的功能 */
            if 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值