duilib 关于wke 控件焦点问题
转载请说明原出处,谢谢~~
对象 : 使用着 Redrain 的 uilib , 下载地址: 《Redrain个人维护并使用的DuiLib和UiLib库源码下载地址》
问题描述: wke 控件加载网页时, 竖直滚动条, 首次使用滚轮没有反应, 需点击wke控件内部, 后才有响应
目标: 不需要点击, 直接可响应滚轮消息
问题分析: 滚轮消息没有响应, 通过点击, 可以响应, 怀疑焦点问题
方法尝试: 1, 设置 wke 控件 SetFocus(); 将焦点设置在wke控件上
(结果) 没有达到效果
2, 进入 CWkeWebkitUI 进行源码分析 发现 SetCapture 为设置了 鼠标捕获 绑定了窗口, 于是展示控件加入
SetFocus(m_hWnd);SetCapture(m_hWnd);
(结果)没有达到效果
最终解决方法: CWkeWebkitUI 的友员 CWkeWebkitWnd 类对窗口对行管理, 通过 HandleMessage 进行消息过滤 , 调试跟踪发现 WM_MOUSEMOVE 这个消息 在 OnMouseEvent 事件响应里为 在鼠标刚进入窗口时起响应, 于是尝试在鼠标消息里加入
源代码
if (uMsg == WM_LBUTTONDOWN || uMsg == WM_MBUTTONDOWN || uMsg == WM_RBUTTONDOWN )
修改后if (uMsg == WM_LBUTTONDOWN || uMsg == WM_MBUTTONDOWN || uMsg == WM_RBUTTONDOWN || uMsg == WM_MOUSEMOVE){SetFocus(m_hWnd);SetCapture(m_hWnd);}
改成这样后, 可以有效果, 直接可以响应滚轮。 但是带来的问题是, 须要 ReleaseCapture 后才能释放焦点, 这时可以利用一个小技巧, 在 OnMouseEvent 里获取鼠标位置
POINT pt; pt.x = GET_X_LPARAM(lParam); pt.y = GET_Y_LPARAM(lParam);
其它思路: CWkeWebkitUI 中 DoEvent 可以通过消息 UIEVENT_MOUSEENTER 与 UIEVENT_MOUSELEAVE 判断控件在客户区与离开客户区 , 通过与消息通信, 可以达到更好的效果, 具体的可以进行尝试。
欢迎大家有好的意见留言进行探讨~~
duilib 关于wke 控件焦点问题相关推荐
- 改进duilib的richedit控件的部分功能
转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41208207 如果要使用透明异形窗体功能,首先要改进duilib库让他本 ...
- duilib修复ActiveXUI控件bug,以支持flash透明动态背景
转载请说明原出处,谢谢~~ 昨天在QQ控件里和同学说起QQ2013登陆窗体的开发,从界面角度考虑,单单一个登陆界面是很容易做出来的.腾讯公司为了防止各种盗号行为可谓煞费苦心,QQ2013采用了动态背景 ...
- DuiLib的Combo控件点击无响应的问题
注:此问题具有特殊性,不具有普适性.结果虽然让人很崩溃,但毕竟折磨了自己一个下午的时间,记录下来永记于此. 今天的DuiLib开发过程中遇到了一个Combo点击没有反应,无法弹出下拉菜单的问题.此问题 ...
- duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
转载请说明原出处,谢谢~~: 今天有朋友反映CTextUI控件无法设置宽度,于是修复了这个bug,顺便给Text控件增加了一个自动计算宽度的属性,描述如下 <Attribute name=&qu ...
- Duilib教程-控件练习
一.控件消息的响应. 在HelloDuilib例子中,程序不能退出,在这里,我将添加一个关闭按钮,当点击它时,调用PostQuitMessage进行退出. 首先在界面的右上角添加一个关闭按钮,并取名为 ...
- 修复duilib库UISlider控件的4个bug
转载级请注明原出处,谢谢~· 昨天封装好一个音频类,我在为dulib做音频播放demo时发现了一些问题,由CSliderUI控件导致的,进而发现了这个控件的好几样不足,他无法满 足我们做一个播放器的进 ...
- Android ListView Item与子控件焦点问题
经常会碰到ListView Item和子控件焦点冲突问题,查了很多资料后发现问题出在listview item的父容器布局中 android:descendantFocusability属性和子控件 ...
- android文本输入框焦点事件,popupwindow和外部输入EditText控件焦点问题!
大神来了!! 今天下午碰到与你一样的问题,查看了下PopupWindow的源码结果还是没有解决:后来查看了http://blog.csdn.net/illidantao/article/details ...
- WPF TextBox控件焦点问题
需求: 点击按钮,会弹出的用户名和密码输入框,焦点自动聚焦于用户名输入框,用户直接可以输入. 做法: 网上搜索,使用CodeBehind,在构造函数中写textBox.Focus();textBox为 ...
最新文章
- RabbitMQ(六):回调队列callback queue、关联标识correlation id、实现简单的RPC系统
- php 正则表达式 后向引用,php正则表达式 后向引用~ | 学步园
- RabbitMQ 死信/死信队列
- ResNet详解(转)
- PHP中获取星期的几种方法
- java list循环_【知识】Java中循环打印出LIST的各属性的值
- 怎样用一个3升的杯子和一个5升的杯子装出4升水来(杯子没有刻度)?
- 在dm355上开发DVR杂记(一):跟ip地址有关
- 为什么“隐性知识”比“刻意练习”更重要?
- OI国家集训队论文集1999~2018
- event mpm php,apache的mpm的几种模式
- 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡...
- 修改linux开机启动界面,修改树莓派的开机启动画面,
- 棋类游戏的真正收获 - 延迟满足感
- 个人股东股权转让涉税问题初探
- Linux文件和目录
- 深入理解设计模式-外观模式(门面模式)
- 浅谈主机间网络通信实际过程
- STM32直流减速电机控制篇(一)PWM调速
- Contiki入门学习【摘录】
热门文章
- GitChat · 安全 | 基于机器学习的 Webshell 发现技术探索
- 正在进行 | 用友企业数智化财务峰会落地广州 高能不断
- php 计算百分比,百分比计算器
- STM32G431控制窗帘电机-窗帘电机拆机
- 新手做shopee平台,出单后不会发货,我来为你解疑
- 终于来了,200道阿里面试题!
- Python---面向对象---龟鱼游戏
- 安庆师范大学计算机学院书记,安庆师范大学计算机与信息学院导师教师师资介绍简介-陈春生...
- java判断数字大小写_java判断字符串是否全部由数字,大小写字母,特殊符号组成...
- 一级注册消防工程师招生简章