duilib的Combo控件滚动条不显示的问题

来源:互联网 发布:python for line in f 编辑:程序博客网 时间:2024/05/21 08:51

这是一个经常被群里朋友问到的问题。群里解释的次数太多了,这里我写一篇文章方便遇到同样问题的人通过搜索引擎能够解惑。

duilib的Combo控件的下拉框是一个独立的子窗口,类名:CComboWnd。

从duilib的源码可以知道,CComboUI控件在Add到布局上的时候,自己的m_pManager还是当前所在窗口的管理器指针,这样默认的滚动条样式图片等都在其中。

但是下拉框子窗体CComboWnd却有自己的一个CPaintManagerUI对象m_pm,而这个m_pm却没有从m_pManager中拿到滚动条的样式等资源(好像字体也是,好在字体可以直接指定全局共享),这样就出现了滚动条不显示的问题。实际应该是显示了只是因为没有资源,所以看不到而已。

其实duilib原本设计的应该是通过dropbox属性来设置下拉框的属性等,只是我也没去调试这个dropbox的属性值应该怎么去写。所以就冒昧改了一下源码。

修改后的源码地址:https://github.com/juhuaguai/duilib

此代码有问题也可以联系我934130966@qq.com,仅用于学习交流用,请勿做它用。

阅读全文
0 0
原创粉丝点击