duilib進階教程 -- XML嵌套及自定義控件 (4)


  代碼下載:http://download.csdn.net/detail/qq316293804/6433937

  之前入門教程里已經講過了自定義控件,這里借着迅雷播放器再次舉個例子。

  1、我們先給迅雷播放器加入下面那一排按鈕。

  和上個教程一樣,我們可以選擇直接放在主XML里面,也可以選擇放到Container里面,在這里,為了讓主XML的代碼更簡潔一點,我們選擇放到單獨的XML里面。而這個單獨的XML就相當於一個自定義控件了,將控件名取為WndPlayPanel,XML取名為【WndPlayPanel.xml】,然后在CDuiFrameWnd::CreateControl里加入如下代碼:

CControlUI* CDuiFrameWnd::CreateControl( LPCTSTR pstrClassName )
{
    if (_tcsicmp(pstrClassName, _T("WndPlayPanel")) == 0)
    {
        CDialogBuilder builder;
        CControlUI* pUI = builder.Create(_T("WndPlayPanel.xml")); 
        return pUI;
    }

    return NULL;
}

  這樣自定義控件就創建出來了,接着把主XML的<HorizontalLayout height="55" /> 換成<WndPlayPanel height="55" />,自定義控件WndPlayPanel就顯示到最下方了。

  2、同樣的道理,我們將標題欄也放到單獨的XML里,取名為Caption,XML取名為【Caption.xml】,在CDuiFrameWnd::CreateControl里加入類似代碼,即可顯示標題欄區域。

  XML的嵌套是不是很簡單呢,和入門教程里的一樣哦,只不過入門教程里的自定義控件是一個win32按鈕,而這里是一個XML。

 

仿迅雷播放器圖片

  

迅雷播放器原圖 

  對比一下正宗的迅雷播放器,可以發現咱們的仿制品還有很多粗糙的地方,比如【打開文件】按鈕就完全見不得人啦,還有右上角的那三個按鈕,再就是左上方的【播放】按鈕、以及中間的那一塊藍色光影,都和正宗的有所差別。這些將留到后面的教程講解~O(∩_∩)O~






免責聲明!

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



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