delphi 實現Ribbon風格的窗體


隨着office2007的興起,微軟讓我們看到了Ribbon風格的窗體,現在很多軟件也都開始使用Ribbon風格。
那么我們如果要自己開發,應當怎么做呢?本文就是為大家解開這個疑團的。

首先,Delphi本身並沒有Ribbon風格的窗口可以直接拿來使用,而市面上很多類似於Ribbon的風格都是用截圖法做出來的,那樣做很麻煩,而且對於圖片的控制要求非常高。這樣無疑是增加了軟件的成本,這里介紹的方法是使用第三方控件,DevExpress Bar 6 來完成Ribbon風格的界面。

首先下載並安裝DevExpress Bar 6,注意必須是6,以往的版本沒有Ribbon風格,然后將它安裝到Delphi2007中。接下來就能夠開始進入正題了。

必要的控件介紹:

TdxRibbon和TdxRibbonStatusBar在界面上可以直接看到;

TdxBarManager用於創建ToolBar,TdxBarManager對應dxRibbon的BarManager屬性,創建的ToolBar對應父控件的Group屬性;

TdxBarApplicationMenu用於創建項目菜單,一個TdxRibbon只包含一個TdxBarApplicationMenu,對應TdxRibbon的ApplicationButton.Menu屬性;

TdxBarScreenTipRepository用於創建按鈕的提示信息,創建的提示信息對應按鈕等控件的ScreenTip屬性

 

1、拖拽必要控件,設置對應屬性:

上述控件都是Ribbon必備的,將它們都拖到窗體上。拖上后的界面如圖所示,可以看到,Ribbon的Tab已經顯示出來了,但還不是我們要的效果。接下來,繼續設置控件的屬性。
設置dxRibbon的BarManager屬性為DxBarManager控件,設置dxRibbonPopupMenu的Ribbon屬性為dxRibbon控件。雙擊dxBarManager控件,然后新建一個ToolBar。

  

  2、添加ApplicationMenu

然后在Object Inspector中會多出一個ToolBar,名稱為dxBarManager1Bar1。設置dxRibbon的QuickAccessToolBar.ToolBar屬性為dxBarManager1Bar1,馬上可以看到,ApplicationMenu已經顯示出來了。

  3、為Application和Tab添加ToolBar

右鍵點擊ApplicationMenu右邊的小箭頭,添加幾個Button。然后再雙擊dxBarManager,添加ToolBar,在dxRibbon上點擊右鍵,選擇Tabs Editor,在彈出的窗口中選中Tab。雙擊Groups屬性,添加一個Group,然后將新增的ToolBar關聯到Group中。得到的程序界面如圖所示

  現在運行一下程序,看看效果

  4、去掉標題欄

大致已經看得到效果了,不過和office2007還有一點不同,我們得把標題欄去掉,讓標題欄的文字顯示在Ribbon中。這個地方需要一個小技巧。按F12切換到代碼視圖,在uses下添加 dxRibbonForm的引用,把窗體的基類從TForm修改為TDxRibbonForm。把dxRibbon控件的SupportNonClientDrawing屬性設為True。再次運行程序。

  5、為Application添加內容

現在看到的效果就是Ribbon了,但是ApplicationMenu點下去還是沒有東西,我們要在ApplicationMenu下加一個菜單。設置dxRibbon的ApplicationButton.Menu屬性為dxBarApplicationMenu,雙擊dxBarApplicationMenu控件的ItemLinks屬性,在屏幕左上方會發現一個小窗口,這個窗體就是用來做ApplicationMenu的,向里面添加按鈕和組即可。

再次運行程序,點擊左上角的圓形圖案,即可看到ApplicationMenu。

     6、為按鈕添加ScreenTip提示信息

雙擊TdxBarScreenTipRepository,創建一個新的ScreenTip(name=dxscrntpOPen),然后設置打開按鈕的ScreenTip屬性為dxscrntpOPen即可

 
分類:  Delphi


免責聲明!

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



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