转载请说明原出处,谢谢~~

对象 : 使用着 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 控件焦点问题相关推荐

  1. 改进duilib的richedit控件的部分功能

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/41208207 如果要使用透明异形窗体功能,首先要改进duilib库让他本 ...

  2. duilib修复ActiveXUI控件bug,以支持flash透明动态背景

    转载请说明原出处,谢谢~~ 昨天在QQ控件里和同学说起QQ2013登陆窗体的开发,从界面角度考虑,单单一个登陆界面是很容易做出来的.腾讯公司为了防止各种盗号行为可谓煞费苦心,QQ2013采用了动态背景 ...

  3. DuiLib的Combo控件点击无响应的问题

    注:此问题具有特殊性,不具有普适性.结果虽然让人很崩溃,但毕竟折磨了自己一个下午的时间,记录下来永记于此. 今天的DuiLib开发过程中遇到了一个Combo点击没有反应,无法弹出下拉菜单的问题.此问题 ...

  4. duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性

    转载请说明原出处,谢谢~~: 今天有朋友反映CTextUI控件无法设置宽度,于是修复了这个bug,顺便给Text控件增加了一个自动计算宽度的属性,描述如下 <Attribute name=&qu ...

  5. Duilib教程-控件练习

    一.控件消息的响应. 在HelloDuilib例子中,程序不能退出,在这里,我将添加一个关闭按钮,当点击它时,调用PostQuitMessage进行退出. 首先在界面的右上角添加一个关闭按钮,并取名为 ...

  6. 修复duilib库UISlider控件的4个bug

    转载级请注明原出处,谢谢~· 昨天封装好一个音频类,我在为dulib做音频播放demo时发现了一些问题,由CSliderUI控件导致的,进而发现了这个控件的好几样不足,他无法满 足我们做一个播放器的进 ...

  7. Android ListView Item与子控件焦点问题

    经常会碰到ListView Item和子控件焦点冲突问题,查了很多资料后发现问题出在listview item的父容器布局中 android:descendantFocusability属性和子控件 ...

  8. android文本输入框焦点事件,popupwindow和外部输入EditText控件焦点问题!

    大神来了!! 今天下午碰到与你一样的问题,查看了下PopupWindow的源码结果还是没有解决:后来查看了http://blog.csdn.net/illidantao/article/details ...

  9. WPF TextBox控件焦点问题

    需求: 点击按钮,会弹出的用户名和密码输入框,焦点自动聚焦于用户名输入框,用户直接可以输入. 做法: 网上搜索,使用CodeBehind,在构造函数中写textBox.Focus();textBox为 ...

最新文章

  1. RabbitMQ(六):回调队列callback queue、关联标识correlation id、实现简单的RPC系统
  2. php 正则表达式 后向引用,php正则表达式 后向引用~ | 学步园
  3. RabbitMQ 死信/死信队列
  4. ResNet详解(转)
  5. PHP中获取星期的几种方法
  6. java list循环_【知识】Java中循环打印出LIST的各属性的值
  7. 怎样用一个3升的杯子和一个5升的杯子装出4升水来(杯子没有刻度)?
  8. 在dm355上开发DVR杂记(一):跟ip地址有关
  9. 为什么“隐性知识”比“刻意练习”更重要?
  10. OI国家集训队论文集1999~2018
  11. event mpm php,apache的mpm的几种模式
  12. 特斯拉开火,状告5名前员工、小鹏汽车、Zoox身陷漩涡...
  13. 修改linux开机启动界面,修改树莓派的开机启动画面,
  14. 棋类游戏的真正收获 - 延迟满足感
  15. 个人股东股权转让涉税问题初探
  16. Linux文件和目录
  17. 深入理解设计模式-外观模式(门面模式)
  18. 浅谈主机间网络通信实际过程
  19. STM32直流减速电机控制篇(一)PWM调速
  20. Contiki入门学习【摘录】

热门文章

  1. GitChat · 安全 | 基于机器学习的 Webshell 发现技术探索
  2. 正在进行 | 用友企业数智化财务峰会落地广州 高能不断
  3. php 计算百分比,百分比计算器
  4. STM32G431控制窗帘电机-窗帘电机拆机
  5. 新手做shopee平台,出单后不会发货,我来为你解疑
  6. 终于来了,200道阿里面试题!
  7. Python---面向对象---龟鱼游戏
  8. 安庆师范大学计算机学院书记,安庆师范大学计算机与信息学院导师教师师资介绍简介-陈春生...
  9. java判断数字大小写_java判断字符串是否全部由数字,大小写字母,特殊符号组成...
  10. 一级注册消防工程师招生简章