duilib進階教程 -- TreeView控件的bug (9)

1、不自動調整子控件的寬度(TreeView寬度小於260時)html

  相信親們用一樣的代碼,顯示效果確定和Alberl不同吧~O(∩_∩)O~函數

  嘿嘿,仔細對比下,看看大家的列表頭背景圖片是下面這樣的麼?ui

  

 

  細心的小夥伴們應該早就發現了,能夠看到右邊那個箭頭並無徹底顯示出來,這是由於TreeView又調皮啦!this

  最開始以爲是TreeView沒有自動調整控件的寬度,去看了下代碼,沒啥問題,而且TestApp1裏面那個tree也沒出現這種現象,因此就一直覺得是本身的XML代碼出了問題。因爲對duilib並不熟,因此只是稍微調試了一下,並沒找到問題,就暫時沒管。到後面其餘效果都OK了,只剩下這個問題了,固然要解決啦,由於迅雷在不一樣分辨率下,大小是不同的,因此Alberl也模仿了迅雷,結果發如今有些分辨率下,播放列表能夠顯示徹底。而Alberl只是調整了窗口大小以及播放列表的寬度,再接着將背景圖片放到TestApp1的tree裏面,也OK,不過發現拖動TestApp1時,播放列表也有時顯示不徹底,再重現了幾回這些狀況,立馬就發現問題了,TestApp1在小於必定寬度的時候,播放列表就顯示不全了,按道理無論寬度多寬,子控件的寬度都會自動調整啊,因而量了一下出現問題的寬度,差很少是260左右,接着就去調代碼,發如今CTreeNodeUI的構造函數裏有這樣一行代碼:this->SetFixedWidth(250);  和260這麼接近,因而就一會兒解決了這個問題。嘿嘿,看來一個問題暫時解決不了,隔幾天再過來看是頗有道理滴~O(∩_∩)O~spa

  解決方案就是:調試

  將this->SetFixedWidth(250);  註釋掉便可。code

 

2、不自動調整子控件的寬度(TreeNode的高度在一啓動就超過TreeView時)htm

  在Alberl作完整個效果後,又發現了一個bug,blog

  最開始打開播放器的時候是下面這樣的,教程

  

 

  好傢伙,和迅雷差很少啊?

  嗯,這個是正常的,那麼咱們接着拖入一些文件,

  

 

  這個時候顯示了垂直滾動條,而且調整了列表的寬度,也是正常的,好傢伙,連滾動條都和迅雷同樣了~O(∩_∩)O~

  不過當咱們關掉軟件,再次打開的時候,就成這樣了:

 

  咦,怎麼那三個按鈕顯示到外面去了? 而且點擊無效!

  不過觸發一次刷新後,就正常了,好比最小化,或者調整窗口大小。

  其實這個並不只僅是那三個按鈕顯示到外面去了,能夠發現表頭的圖片也不顯示箭頭了,很顯然,和上面介紹的那個bug是相似的。

  不過通過初步調試,並無找到問題,因爲Alberl爲了繼續寫教程,就沒管這個問題了,去羣裏問了也沒人回答,多是由於用TreeView的比較少吧?因而Alberl就繼續寫教程啦~O(∩_∩)O~

  這個問題Alberl固然可以解決,可是Alberl不喜歡重複造輪子,確定有大神們作過了,不過這個問題也不是什麼難解決的問題,因此Alberl但願小夥伴們可以在Alberl寫完這個教程以前,就提供解決方案~O(∩_∩)O~

  固然,若是Alberl寫完這個教程後,還沒人提供的話,就只有去調試了,都作到這一步了,也不差那麼一點,乾脆就解決它唄。

  有心想解決這個問題的大神請注意啦,Alberl在這裏提供幾個現象:

一、若是給TreeView顯示滾動條,那麼就很容易觀察是否有問題啦。用如下簡單代碼便可復現問題:

        <TreeView height="60" bkcolor="#FF00FF00" vscrollbar="true" hscrollbar="true" >
            <TreeNode height="33" bkcolor="#FF0000FF" />
            <TreeNode height="33" bkcolor="#FF00FFFF" />
        </TreeView>

  因此第一個問題若是加上hscrollbar="true",能夠發現只要寬度小於260,就會出現滾動條,這就說明問題復現了,固然,這個問題已經解決啦。

二、第二個問題若是加上vscrollbar="true" ,能夠發現只要出現垂直滾動條,問題就復現啦。

  這個問題和動態添加或靜態添加TreeNode沒有關係,只要在軟件初始化的時候,加上了TreeNode,當其顯示垂直滾動條的時候,就能夠復現問題。

  嗯,但願小夥伴們在Alberl寫完教程以前,提供解決方案喲~O(∩_∩)O~


     教程接近尾聲啦,第二個bug也解決了,請見http://www.cnblogs.com/Alberl/p/3404393.html

相關文章
相關標籤/搜索