duilib 进阶教程

duilib 进阶教程

ID:37690482

大小:1.79 MB

页数:53页

时间:2019-05-28

duilib 进阶教程_第1页
duilib 进阶教程_第2页
duilib 进阶教程_第3页
duilib 进阶教程_第4页
duilib 进阶教程_第5页
资源描述:

《duilib 进阶教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、此教程是从Alberl的博客截取,送给各位没网的情况下也能看。感谢Alberl的分享。在MFC中使用duilib(1)由于入门教程的反响还不错,因此Alberl就以直播的形式来写《进阶教程》啦,本教程的前提:  1、请先阅读《仿迅雷播放器教程》  2、要有一定的duilib基础,如果还没,请先阅读《2013duilib入门简明教程》。  3、下载基于VLC的MFC播放器(包含VLC等所有文件),csdn不允许上传相似的代码,因此后面的教程将不再上传VLC的dll、头文件等没有改变的文件。  《仿迅雷播放器教程--基于VLC的MFC播放器(6)》中界面是用MFC做的,因此我们

2、要将它换成duilib。而在《2013duilib入门简明教程--结合win32和MFC(16)》中只讲了怎么在duilib中显示MFC窗口,以及在MFC中显示duilib窗口,但是没有讲消息的响应,因此有些基础薄弱的小伙伴还是不懂,这里借着这个机会讲解一下消息的响应,下面进入正题。  之前的MFC界面如下:    现在我们将左边的三个按钮换成迅雷的,如下:   其中左边那块是纯duilib的界面,右边那块是在duilib的窗口里放了一个win32控件,这六个按钮都是有消息响应的,因此本教程实现了以下功能:  1、在MFC窗口显示了duilib窗口,并响应了duilib的控

3、件。  2、在duilib的窗口显示了win32的控件,并响应了win32的控件。  所以与MFC结合的知识已经全面覆盖了(与win32结合也是类似的),到此,就不用担心老项目使用duilib带来问题了。  界面显示已经在《2013duilib入门简明教程--结合win32和MFC(16)》讲过了,那么这里只讲消息响应。 一、纯duilib控件的响应:  只需在Notify函数做响应就行了,其中m_pDlgMain是MFC主窗口的指针。voidCDuiFrameWnd::Notify(TNotifyUI&msg){if(m_pDlgMain){if(msg.sType==_

4、T("click")){if(msg.pSender->GetName()==_T("btnPrevious")){m_pDlgMain->OnBnClickedButtonPlayPrevious();}elseif(msg.pSender->GetName()==_T("btnNext")){m_pDlgMain->OnBnClickedButtonPlayNext();}elseif(msg.pSender->GetName()==_T("btnPlay")){m_pDlgMain->OnBnClickedButtonPlay();}}}__super::Notify

5、(msg);}  可见原有的MFC代码基本无需改动,是不是很简单呢~O(∩_∩)O~ 二、duilib中MFC控件的响应  由于duilib不够成熟,很多东西都要自己去处理,而如果水平不够的话,就很可能做不出来,已经有很多网友因为有些控件很难实现而放弃了。因此这种情况下,如果某个控件很难实现,我们用MFC的控件代替就是非常适合的,并且很多控件即使duilib能做出来,也还是取代不了MFC控件,比如虚拟表格等等,这些MFC控件已经很成熟了,并且界面也不难看,可自行定制,而如果用duilib去做虚拟表格的话,工作量肯定是很大的,因此这种情况下,也建议用MFC控件。那么在duil

6、ib中显示的MFC控件怎么响应呢?  其实也很简单,回到win32就行了,我们只需截获WM_COMMAND,而duilib的WM_COMMAND等windows消息可以在HandleMessage函数里截获,代码如下:LRESULTCDuiFrameWnd::HandleMessage(UINTuMsg,WPARAMwParam,LPARAMlParam){switch(uMsg){caseWM_COMMAND:if(IDC_BUTTON_DUI_NEXT==wParam){if(m_pDlgMain){m_pDlgMain->OnBnClickedButtonPlayNe

7、xt();}}break;default:break;}return__super::HandleMessage(uMsg,wParam,lParam);}  也是非常简单!  现在已经可以去试试效果啦,左边那三个按钮和右边那三个按钮的效果完全一样!  从这个例子可以看出,无论是在duilib里使用MFC,还是在MFC中使用duilib,都不需要改动原有项目,和MFC结合是不是很有用呢~O(∩_∩)O~  代码下载:http://download.csdn.net/detail/qq316293804/642632

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。