【轉】實現Ribbon風格的表單

來源:互聯網
上載者:User

標籤:進入   tool   popup   orm   quick   upm   視圖   必須   item   

 

隨著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即可

【轉】實現Ribbon風格的表單

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.