duilib入門簡明教程 -- FAQ (19)

  雖然前面的教程幾乎把所有的知識點都羅列了,但是有很多問題經常在羣裏出現,所以這裏再次整理一下。

    需要注意的是,在下面的問題中,除了加上XML屬性外,主窗口必須繼承自WindowImplBase,才能夠有效果,因爲這個類幫我們處理了非常多的常用操作,如果想自己處理,請參見WindowImplBase的代碼。

 

1、怎麼設置標題欄區域?

    只需在XML的Window節點加上caption="0,0,0,32"即可,其中32是指從窗口頂部開始,往下32個像素的區域,都設置成標題欄,這樣就可以點擊標題欄拖動窗口,或者雙擊最大化了。

   <Window size="800,600" caption="0,0,0,32" >

    不過可以發現有些Demo的標題欄文字區域不能拖動,比如360Demo,那是因爲它的文字區域用的是Text,這裏必須換成Label,或者將控件禁用(添加屬性 enable="false"),否則點擊文字區域無法移動標題欄。

    完整代碼請參見【2013 duilib入門簡明教程 -- 完整的自繪標題欄(8)

 

2、怎麼讓窗口大小可調整?

    只需在XML的Window節點加上sizebox="4,4,4,4"即可,其中4就是指鼠標離邊框還有4個像素的時候,鼠標就會變成箭頭形狀,這時就可以拖拽邊框來改變大小,親們可以改成40試試。如果再加上mininfo="600,400"屬性就可以限制窗口的最小尺寸了,這樣窗口能夠被調整的最小尺寸就是600*400。

    完整代碼請參見【2013 duilib入門簡明教程 -- 完整的自繪標題欄(8)

 

3、怎麼屏蔽回車鍵、 Esc鍵?

    如果按照最前面說的,主窗口繼承自WindowImplBase,那麼就已經屏蔽了回車鍵。如果想自行處理,請在子類響應虛函數MessageHandler。

    完整代碼請參見【2013 duilib入門簡明教程 -- 完整的自繪標題欄(8)

 

4、怎麼設置exe的圖標?

    請參見【2013 duilib入門簡明教程 -- 其他 (18)

 

5、菜單怎麼在失去焦點後消失? 窗口怎麼添加陰影?

    請參見【2013 duilib入門簡明教程 -- 自繪控件 (15)】中的菜單Demo。

 

6、爲什麼編譯不通過?

    請參見【2013 duilib入門簡明教程 -- VS環境配置(2)


圖片


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章