duilib踩坑記錄


duilib官方 https://github.com/duilib/duilib 

duilib他人擴展 https://github.com/qdtroy/DuiLib_Ultimate

關於兩者的對比 https://www.zhaokeli.com/article/8224.html

貼近官方版,並更改了很多bug https://github.com/juhuaguai/duilib

騰訊雲通信消息服務SDK(DuiLib_Ultimate) https://github.com/tencentyun/TIMSDK/tree/master/cross-platform/Windows/IMApp/Basic/duilib?tdsourcetag=s_pcqq_aiomsg

網易雲信Windows應用界面開發框架 https://github.com/netease-im/NIM_Duilib_Framework

 

duilib官方文檔較少,網上找了些資料,總結下

 alberl寫過的 duilib入門簡明教程 (推薦,本人小白一枚,跟着這個教程一步步做也算是了解了個大概) 和 duilib進階教程

https://blog.csdn.net/zhuhongshu/article/details/43816875(暫時未看,內含博主自己維護的duilib庫連接,博主博客內也有很多資料)

https://www.cnblogs.com/redrainblog/category/636556.html(暫時未看,內含博主自己維護的duilib庫連接,有仿酷狗音樂播放器)

 

如果能把demo認真學好,再理解控件和布局的用法,就可以開始使用duilib了。不過如果想用好duilib,那么閱讀並且修改duilib的源碼是必不可少的,因為duilib存在不少的bug,我博客的其他博文描述過一部分bug的修復,否則在使用duilib的時候出現了問題可能都找不到原因。怎么學習duilib的源碼我就不說了,一共3萬多行代碼,只要願意去讀那就不是難事。 --------------------- 本文來自 Redrain 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/zhuhongshu/article/details/43816875?utm_source=copy

 

2018年9月21日16:15:04

在使用官方庫時遇到些問題。。。

1 、error LNK2019: 無法解析的外部符號 “public: virtual __thiscall CWndShadow::~CWndShadow(void) 這是因為新版的DuiLib新增了兩個文件但DuiLib.vcproj中忘記添加了導致,我們分別將DuiLib\Utils\WndShadow.h和DuiLib\Utils\WndShadow.cpp添加到工程中,再重新生成就OK了

2、UIGifAnim.cpp 編碼需要修改

                              

2018年12月20日17:32:02

2018年12月24日14:50:28

list在實現動態添加成員后滾動條自動滾動到底部時,需要設置定時器才能成功,原因示例

2019年7月16日15:26:42

DuiLib_Ultimate版本

1.WindowImplBase類中

MessageHandler 繼承自IMessageFilterUI類,在MessageLoop->CPaintManagerUI::TranslateMessage->CPaintManagerUI::PreMessageHandler中被調用。

HandleMessage 繼承自CWindowWnd類,在CWindowWnd::__WndProc中被調用。

HandleCustomMessage 定義在WindowImplBase中,被WindowImplBase::HandleMessage調用

2.CPaintManagerUI類中

MessageHandler 定義在CPaintManagerUI中,被WindowImplBase::HandleMessage調用

總結:

只有繼承自IMessageFilterUI類的MessageHandler為消息過濾器,參數bHandled為true則不下發消息,其余為消息處理。

參考

2019年7月16日15:48:30

WindowImplBase::Notify 繼承自INotifyUI類(Listener interface)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM