文档章节

CComboUI bug修复

lssaint
 lssaint
发布于 2015/02/04 15:43
字数 285
阅读 111
收藏 0

 duilib CComboUI  有时鼠标拖动不准   by lssaint

   次bug修复比较简单,但比较难找到原因先贴源码:

   在 CComboWnd中找到HandleMessage方法。

if( uMsg == WM_KEYDOWN ) {
        switch( wParam ) {
        case VK_ESCAPE:
            m_pOwner->SelectItem(m_iOldSel, true);
            EnsureVisible(m_iOldSel);
            // FALL THROUGH...
        case VK_RETURN:
            PostMessage(WM_KILLFOCUS);
            break;
        default:
            TEventUI event;
            event.Type = UIEVENT_KEYDOWN;
            event.chKey = (TCHAR)wParam;
            m_pOwner->DoEvent(event);
            EnsureVisible(m_pOwner->GetCurSel());
            return 0;
        }
    }

修改为

if( uMsg == WM_KEYDOWN ) {
        switch( wParam ) {
        case VK_ESCAPE:
            m_pOwner->SelectItem(m_iOldSel, true);
            EnsureVisible(m_iOldSel);
            // FALL THROUGH...
        case VK_RETURN:
            PostMessage(WM_KILLFOCUS);
            break;
        default:
            TEventUI event;
            event.Type = UIEVENT_KEYDOWN;
            event.chKey = (TCHAR)wParam;
            m_pOwner->DoEvent(event);
	    if(wParam!=17)     //修改处
            EnsureVisible(m_pOwner->GetCurSel());
            return 0;
        }
    }

   以下部分为转载 http://blog.csdn.net/zhuhongshu/article/details/43484589

  duilib 修复combo控件打开下拉菜单后不会自动定位到上次选择的位置上的bug  by  Redrain  

  1、给CComboWnd类继承INotifyUI接口

class CComboWnd : public CWindowWnd,public INotifyUI

   2、在WM_CREATE消息里,把CComboWnd添加到消息队列:

m_pm.AddNotifier(this);

   3、为CComboWnd类添加 void Notify(TNotifyUI& msg) ; 成员函数

void CComboWnd::Notify(TNotifyUI& msg)  
{  
    if (msg.sType == _T("windowinit"))  
    {  
        EnsureVisible(m_iOldSel);  
    }  
}

© 著作权归作者所有

上一篇: duilib Ip控件
下一篇: CListUI 使用注意
lssaint
粉丝 9
博文 19
码字总数 14315
作品 1
程序员
私信 提问
KindEditor 4.0 正式版发布

KindEditor 4.0 变更记录: 新增: 锚点功能。 新增: 增加loadStyleMode属性,默认情况下自动加载CSS文件。 新增: 编辑器对象增加isDirty方法,判断编辑器内容是否有修改。 改善: 粘贴MS Word...

Roddy
2011/09/26
1K
13
iView 2.14.1 发布,基于 Vue.js 的企业级 UI 组件库

iView 2.14.1 发布了,iView 是一套基于 Vue.js 的企业级 UI 组件库,主要服务于 PC 界面的中后台产品。 更新内容如下: 修复 2.14.0 版本中,在 SSR 中无法使用的 bug。#3740 修复 2.14.0 版...

aresn
2018/06/01
1K
13
VirtualBox 5.2.20 发布,修复 Linux 内核 4.19

VirtualBox 5.2.20 发布了,更新内容如下: VMM: 修复由 INTn 指令触发的任务开关问题 (bug #17979) Storage: 修复了与某些 iSCSI 目标的连接 (bug #17507) Storage: 修复了在使用主机 I/O ...

h4cd
2018/10/19
1K
0
Rainbond 3.6.1 发布,生产级无服务器 PaaS 平台

本次3.6.1版本更新,重点修复了3.6.0版本部分情况下会出现的BUG,同时改进了内部市场、参数验证、历史消息等功能,详细更新记录如下: 3.6.1 功能改进 云帮初次使用跳转至注册页面 消息添加查...

Rainbond
2018/07/18
660
2
Liger UI 更新至 v1.1.9

V1.1.9更新记录 表单 [BUG]修复isChecked方法重复调用的问题 表格 [BUG]修复表格下拉框/日期 编辑有时无法更新值的问题 [需求]分组行优化自定义函数 下拉框 [BUG]修复 调用updateStyle方法无...

笨蛋EGG
2012/05/16
4.8K
10

没有更多内容

加载失败,请刷新页面

加载更多

代码规范

代码格式化 安装vscode插件:Prettier - Code formatter 格式化配置:将下列配置写入到vscode的settings.json文件 (遵照代码格式化) "prettier.disableLanguages": ["vue"], "prettier.......

TreeZhou0511
35分钟前
1
0
python实现人工神经网络的一个例子

人工神经网络已经有无数的开源框架,比如tensorflow,caffe等,可以直接用。但最近需要做一个小样例,把基本思想讲一讲,因此自己写了一个demo,以供参考。 下面直接上代码,代码中有注释,比...

propagator
39分钟前
3
0
远程dubugger

1、在tomcat的bin下/data/project/XXX/apache-tomcat-8.5.23/bin 在catalina.bat文件中新增如下即可 JAVA_OPTS="-Xmx1024m -Xms1024m -agentlib:jdwp=transport=dt_socket,server=y,suspend......

一只小青蛙
56分钟前
1
0
jemter 连接MySQL

jemter 连接MySQL 点击测试计划,测试计划最后”添加目录或jar包到ClassPath“,点击浏览,添加mysql-connector.jar mysql-connector.jar的下载地址: https://mvnrepository.com/artifact/my...

xiaobai1315
今天
5
0
第一次尝试用python实现zabbix主机的批量添加批量删除及模板导入脚本

Python3入门练手尝试篇 API参考: zabbix API 4.0版本:https://www.zabbix.com/documentation/4.0/zh/manual/api #!/bin/python3import xlrd,os,json,requests,sys#参考zabbix API 4.0版本......

平头哥-Enjoystudy
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部